Boolean TestLookupInstanceProvider(ProviderRegistrationManager & prmanager) { // // create Provider module instances // CIMObjectPath returnRef; CIMClass cimClass(CLASSNAME); CIMInstance cimInstance(CLASSNAME); cimInstance.addProperty(CIMProperty(CIMName ("Name"), String("providersModule1"))); cimInstance.addProperty(CIMProperty(CIMName ("Vendor"), String("HP"))); cimInstance.addProperty(CIMProperty(CIMName ("Version"), String("2.0"))); cimInstance.addProperty(CIMProperty(CIMName ("InterfaceType"), String("PG_DefaultC++"))); cimInstance.addProperty(CIMProperty(CIMName ("InterfaceVersion"), String("2.0"))); cimInstance.addProperty(CIMProperty(CIMName ("Location"), String("/tmp/module1"))); CIMObjectPath instanceName = cimInstance.buildPath(cimClass); instanceName.setNameSpace(NAMESPACE); instanceName.setClassName(CLASSNAME); try { returnRef = prmanager.createInstance(instanceName, cimInstance); } catch(const CIMException&) { throw; } // create PG_Provider instances CIMObjectPath returnRef2; CIMClass cimClass2(CLASSNAME2); CIMInstance cimInstance2(CLASSNAME2); cimInstance2.addProperty(CIMProperty(CIMName ("ProviderModuleName"), String("providersModule1"))); cimInstance2.addProperty(CIMProperty(CIMName ("Name"), String("PG_ProviderInstance1"))); CIMObjectPath instanceName2 = cimInstance2.buildPath(cimClass2); instanceName2.setNameSpace(NAMESPACE); instanceName2.setClassName(CLASSNAME2); try { returnRef2 = prmanager.createInstance(instanceName2, cimInstance2); } catch(const CIMException&) { throw; } // // create provider capability instances // Array <String> namespaces; Array <Uint16> providerType; Array <String> supportedMethods; namespaces.append("test_namespace1"); namespaces.append("test_namespace2"); providerType.append(2); providerType.append(5); supportedMethods.append("test_method1"); supportedMethods.append("test_method2"); CIMObjectPath returnRef3; CIMClass cimClass3(CLASSNAME3); CIMInstance cimInstance3(CLASSNAME3); cimInstance3.addProperty(CIMProperty(CIMName ("ProviderModuleName"), String("providersModule1"))); cimInstance3.addProperty(CIMProperty(CIMName ("ProviderName"), String("PG_ProviderInstance1"))); cimInstance3.addProperty(CIMProperty(CIMName ("CapabilityID"), String("capability1"))); cimInstance3.addProperty(CIMProperty(CIMName ("ClassName"), String("test_class1"))); cimInstance3.addProperty(CIMProperty(CIMName ("Namespaces"), namespaces)); cimInstance3.addProperty(CIMProperty(CIMName ("ProviderType"), providerType)); cimInstance3.addProperty(CIMProperty(CIMName ("SupportedMethods"), supportedMethods)); CIMObjectPath instanceName3 = cimInstance3.buildPath(cimClass3); instanceName3.setNameSpace(NAMESPACE); instanceName3.setClassName(CLASSNAME3); try { returnRef3 = prmanager.createInstance(instanceName3, cimInstance3); } catch(const CIMException&) { throw; } // find the instance provider // String _providerModuleName; String _providerModuleName2; CIMInstance providerIns; CIMInstance providerModuleIns; if (prmanager.lookupInstanceProvider(CIMNamespaceName ("test_namespace1"), CIMName ("test_class1"), providerIns, providerModuleIns)) { providerIns.getProperty(providerIns.findProperty (CIMName ("ProviderModuleName"))).getValue().get (_providerModuleName); providerModuleIns.getProperty(providerModuleIns.findProperty (CIMName ("Name"))).getValue().get(_providerModuleName2); if (String::equal(_providerModuleName, _providerModuleName2)) { return (true); } else { return (false); } } else { return (false); } }