On 25.7.2013 10:32, George varghese wrote:
>
> Hi,
>
> On Thu, Jul 25, 2013 at 12:27 PM, Michal Minář <miminar@redhat.com> wrote:
>
>     Hi George
>
>
>     On 24.7.2013 20:35, George varghese wrote:
>>
>>     Hi,
>>
>>     I am trying to implement software update provider for firmware updating. I have done following things.. 1. Created a new instance of CIM_SoftwareInstallationService.
>>     2. Downloaded URI link
>     >>Maybe I get you wrong. Isn't the provider supposed to download the package from given URI and install it? >>Why doing it yourself.
>
> 2. I described here the code sequence. download the package from the given URI and install by provider.. 
>
>
>>     3. Then set success as method, KUint32_Set(&result, 0); KSetStatus(status, OK); in spec I shall copied herre the body content of response, <n1:InstallFromURI_OUTPUT> <n1:ReturnValue>0</n1:ReturnValue> </n1:InstallFromURI_OUTPUT> </s:Body> I don't know how to put description here, for this which method I shall calling.
>>     4. I don't know about CIM_ConcretJob class details. How to fill this class properties values.
>
>     >>You don't need to use CIM_ConcreteJob at all, if the synchronous invocation is sufficient. In that case just ??>>return "Job Completed with No Error", "Failed" or any other value < 4096.
>
> I think the installation process may be asynchronous. That case which class enumerating for knowing the download status.. ..    If user shall initiate the same process, what is the response value... for this which class I need to enumerate?

Look here: http://schemas.dmtf.org/wbem/cim-html/2.34.0/CIM_ConcreteJob.html
Search for "PercentComplete" property. You may also provide indications user can subscribe to.
This way he doesn't need to poll for status. With asynchronous invocation there are just a few
possible values you can return: "Unspecified Error" (2) or "Method Parameters Checked - Job Started" (4096).
Return the first one if parameters are invalid or the job could not be started, otherwise start the job, make instance of CIM_ConcreteJob, return it as an Out parameter and make 4096 the return value of method.
>
> >>All the requirements are listed in Job Control Profile (DSP1103) and Software Update
>
>     >>profile. For implementation (in python) you may check out our openlmi->>providers/src/python/lmi/common/JobManager.py.
>
> No, provider implementation should be in C language.
>
> What things we consider for implementing software update provider?

What optional features you want to implement (like Ordered Dependencies, Software Bundles etc.).
What other functionality you are missing in the profile (verification)?
Whether you are content with synchronous methods? - easy to implement.
And when you choose asynchronous, whether to make indications to notify clients?
How to represent your jobs in separate thread or process?
>
>>     Regards,
>>     George
>>
>>
>>     _______________________________________________
>>     openlmi-devel mailing list
>>     openlmi-devel@lists.fedorahosted.org
>>     https://lists.fedorahosted.org/mailman/listinfo/openlmi-devel
>
>
>     _______________________________________________
>     openlmi-devel mailing list
>     openlmi-devel@lists.fedorahosted.org
>     https://lists.fedorahosted.org/mailman/listinfo/openlmi-devel
>
>
>
>
> _______________________________________________
> openlmi-devel mailing list
> openlmi-devel@lists.fedorahosted.org
> https://lists.fedorahosted.org/mailman/listinfo/openlmi-devel