14 schuur 1.1
15 If you plan to write your own CMPI providers you are kindly referred to the
16 WBEMSource homepage where the draft specification document for CMPI resides.
17 You can find at http://www.wbemsource.org/doc.tpl?CALLER=index.tpl&gdid=3712 .
18 If you are looking for samples you should have a look at the SBLIM project.
19 The packages prefixed by the string sblim-cmpi contain CMPI providers for
20 various classes. See http://www-124.ibm.com/developerworks/projects/sblim .
21
22 Once you have a CMPI provider library you want to register it with Pegasus.
23 How? Well it's almost the same as for C++ providers. The only difference is
24 that the Provider.Interface property must be set to "CMPI".
25
26 Here's an excerpt from the SBLIM Linux Computer System provider registration
27
28 // ===================================================================
29 // Linux_ComputerSystem
30 // ===================================================================
31
32
33 instance of PG_ProviderModule
34 {
35 schuur 1.1 Name = "OSBase_ComputerSystemProviderModule";
36 //The library name on disk
37 Location = "cmpiOSBase_ComputerSystemProvider";
38 Vendor = "SBLIM";
39 Version = "1.2.2";
40 InterfaceType = "CMPI";
41 InterfaceVersion = "0.86.0";
42 };
43
44 instance of PG_Provider
45 {
46 //The provider module as defined in PG_ProviderModule
47 ProviderModuleName = "OSBase_ComputerSystemProviderModule";
48 // The provider name as referenced in the code
49 Name = "OSBase_ComputerSystemProvider";
50 };
51
52 instance of PG_ProviderCapabilities
53 {
54 //The provider module as defined in PG_ProviderModule
55 ProviderModuleName = "OSBase_ComputerSystemProviderModule";
56 schuur 1.1 //The provider name as defined in PG_Provider
57 ProviderName = "OSBase_ComputerSystemProvider";
58 CapabilityID = "1";
59 //Name of the CIM class as defined in the mof
60 ClassName = "Linux_ComputerSystem";
61 Namespaces = {"root/cimv2"};
62 ProviderType = { 2,5 }; // Instance, Method
63 SupportedProperties = NULL; // All properties
64 SupportedMethods = NULL; // All methods
65 };
66
|