version 1.8, 2004/01/27 13:48:11
|
version 1.9, 2004/02/04 22:58:21
|
|
|
{ | { |
} | } |
| |
|
ProviderName ProviderRegistrar::findConsumerProvider(const String & destinationPath) |
|
{ |
|
CIMInstance provider; |
|
CIMInstance providerModule; |
|
ProviderName temp; |
|
|
|
if (_prm->lookupIndicationConsumer(destinationPath,provider,providerModule)) |
|
return ProviderName(temp.getObjectName(), |
|
provider.getProperty(providerModule.findProperty |
|
("Name")).getValue ().toString (), |
|
providerModule.getProperty(providerModule.findProperty |
|
("Location")).getValue().toString(), |
|
providerModule.getProperty(providerModule.findProperty |
|
("InterfaceType")).getValue().toString(), |
|
0); |
|
|
|
return temp; |
|
} |
|
|
// need at least the object and the one capability. | // need at least the object and the one capability. |
// for example, | // for example, |
// "//localhost/root/cimv2:CIM_ComputerSystem", INSTANCE | // "//localhost/root/cimv2:CIM_ComputerSystem", INSTANCE |
|
|
Boolean hasNoQuery; | Boolean hasNoQuery; |
| |
switch (flags) { | switch (flags) { |
case 2: //ProviderType::INSTANCE |
case ProviderType_INSTANCE: |
if (_prm->lookupInstanceProvider(objectName.getNameSpace(),objectName.getClassName(), | if (_prm->lookupInstanceProvider(objectName.getNameSpace(),objectName.getClassName(), |
provider,providerModule,0)) { | provider,providerModule,0)) { |
return ProviderName(providerName.getObjectName(), | return ProviderName(providerName.getObjectName(), |
|
|
ProviderType::INSTANCE); | ProviderType::INSTANCE); |
} | } |
break; | break; |
case 5: //ProviderType::ASSOCIATION |
case ProviderType_ASSOCIATION: |
if (_prm->lookupInstanceProvider(objectName.getNameSpace(),objectName.getClassName(), | if (_prm->lookupInstanceProvider(objectName.getNameSpace(),objectName.getClassName(), |
provider,providerModule,1)) { | provider,providerModule,1)) { |
return ProviderName(providerName.getObjectName(), | return ProviderName(providerName.getObjectName(), |
|
|
ProviderType::ASSOCIATION); | ProviderType::ASSOCIATION); |
} | } |
break; | break; |
case 7: //ProviderType::QUERY |
case ProviderType_QUERY: |
if (_prm->lookupInstanceProvider(objectName.getNameSpace(),objectName.getClassName(), | if (_prm->lookupInstanceProvider(objectName.getNameSpace(),objectName.getClassName(), |
provider,providerModule,0,&hasNoQuery)) { | provider,providerModule,0,&hasNoQuery)) { |
return ProviderName(providerName.getObjectName(), | return ProviderName(providerName.getObjectName(), |