version 1.2, 2008/05/02 19:02:55
|
version 1.3, 2008/05/27 17:49:24
|
|
|
| |
for (Uint32 i = 0; i < indicationCountEntries.size(); i++) | for (Uint32 i = 0; i < indicationCountEntries.size(); i++) |
{ | { |
|
CIMInstance providerIndDataInstance = _buildProviderIndDataInstance( |
|
indicationCountEntries[i]); |
|
instances.append(providerIndDataInstance); |
|
} |
|
|
|
PEG_METHOD_EXIT(); |
|
return instances; |
|
} |
|
|
|
Array<CIMObjectPath> |
|
ProviderIndicationCountTable::enumerateProviderIndicationDataInstanceNames() |
|
{ |
|
PEG_METHOD_ENTER(TRC_INDICATION_SERVICE, |
|
"ProviderIndicationCountTable::" |
|
"enumerateProviderIndicationDataInstanceNames"); |
|
|
|
Array<CIMObjectPath> instanceNames; |
|
|
|
// |
|
// get entire provider indication count table entries |
|
// |
|
Array<_ProviderIndicationCountTableEntry> indicationCountEntries = |
|
_getAllEntries(); |
|
|
|
for (Uint32 i = 0; i < indicationCountEntries.size(); i++) |
|
{ |
|
CIMObjectPath path = _buildProviderIndDataInstanceName( |
|
indicationCountEntries[i]); |
|
|
|
instanceNames.append(path); |
|
} |
|
|
|
PEG_METHOD_EXIT(); |
|
return instanceNames; |
|
} |
|
|
|
CIMInstance ProviderIndicationCountTable::getProviderIndicationDataInstance( |
|
const CIMObjectPath& instanceName) |
|
{ |
|
PEG_METHOD_ENTER(TRC_INDICATION_SERVICE, |
|
"ProviderIndicationCountTable::getProviderIndicationDataInstance"); |
|
|
|
// |
|
// Gets provider module name and provider name from the provider indication |
|
// data instance object path |
|
// |
|
String providerModuleName; |
|
String providerName; |
|
Array<CIMKeyBinding> keys = instanceName.getKeyBindings(); |
|
|
|
for (Uint32 i = 0; i < keys.size(); i++) |
|
{ |
|
if (keys[i].getName() == _PROPERTY_PROVIDERNAME) |
|
{ |
|
providerName = keys[i].getValue(); |
|
} |
|
else if (keys[i].getName() == _PROPERTY_PROVIDERMODULENAME) |
|
{ |
|
providerModuleName = keys[i].getValue(); |
|
} |
|
} |
|
|
|
String providerKey = _generateKey(providerModuleName, providerName); |
|
|
|
_ProviderIndicationCountTableEntry entry; |
|
|
|
WriteLock lock(_tableLock); |
|
|
|
if (_table.lookup(providerKey, entry)) |
|
{ |
|
CIMInstance providerIndDataInstance = |
|
_buildProviderIndDataInstance(entry); |
|
|
|
PEG_METHOD_EXIT(); |
|
return providerIndDataInstance; |
|
} |
|
|
|
PEG_METHOD_EXIT(); |
|
throw CIMObjectNotFoundException(instanceName.toString()); |
|
} |
|
|
|
CIMObjectPath ProviderIndicationCountTable::_buildProviderIndDataInstanceName( |
|
const _ProviderIndicationCountTableEntry& indicationCountEntry) |
|
{ |
|
PEG_METHOD_ENTER(TRC_INDICATION_SERVICE, |
|
"ProviderIndicationCountTable::_buildProviderIndDataInstanceName"); |
|
|
|
CIMObjectPath instanceName; |
|
Array<CIMKeyBinding> keyBindings; |
|
keyBindings.append(CIMKeyBinding( |
|
"ProviderModuleName", |
|
indicationCountEntry.providerModuleName, |
|
CIMKeyBinding::STRING)); |
|
keyBindings.append(CIMKeyBinding( |
|
"ProviderName", |
|
indicationCountEntry.providerName, |
|
CIMKeyBinding::STRING)); |
|
|
|
instanceName.setClassName(PEGASUS_CLASSNAME_PROVIDERINDDATA); |
|
instanceName.setKeyBindings(keyBindings); |
|
|
|
PEG_METHOD_EXIT(); |
|
return instanceName; |
|
} |
|
|
|
CIMInstance ProviderIndicationCountTable::_buildProviderIndDataInstance( |
|
const _ProviderIndicationCountTableEntry& indicationCountEntry) |
|
{ |
|
PEG_METHOD_ENTER(TRC_INDICATION_SERVICE, |
|
"ProviderIndicationCountTable::_buildProviderIndDataInstance"); |
|
|
CIMInstance providerIndDataInstance(PEGASUS_CLASSNAME_PROVIDERINDDATA); | CIMInstance providerIndDataInstance(PEGASUS_CLASSNAME_PROVIDERINDDATA); |
providerIndDataInstance.addProperty(CIMProperty( | providerIndDataInstance.addProperty(CIMProperty( |
CIMName("ProviderModuleName"), | CIMName("ProviderModuleName"), |
indicationCountEntries[i].providerModuleName)); |
indicationCountEntry.providerModuleName)); |
providerIndDataInstance.addProperty(CIMProperty( | providerIndDataInstance.addProperty(CIMProperty( |
CIMName("ProviderName"), | CIMName("ProviderName"), |
indicationCountEntries[i].providerName)); |
indicationCountEntry.providerName)); |
providerIndDataInstance.addProperty(CIMProperty( | providerIndDataInstance.addProperty(CIMProperty( |
CIMName("IndicationCount"), | CIMName("IndicationCount"), |
indicationCountEntries[i].indicationCount)); |
indicationCountEntry.indicationCount)); |
providerIndDataInstance.addProperty(CIMProperty( | providerIndDataInstance.addProperty(CIMProperty( |
CIMName("OrphanIndicationCount"), | CIMName("OrphanIndicationCount"), |
indicationCountEntries[i].orphanIndicationCount)); |
indicationCountEntry.orphanIndicationCount)); |
| |
instances.append(providerIndDataInstance); |
CIMObjectPath path = _buildProviderIndDataInstanceName( |
} |
indicationCountEntry); |
|
providerIndDataInstance.setPath(path); |
| |
PEG_METHOD_EXIT(); | PEG_METHOD_EXIT(); |
return instances; |
return providerIndDataInstance; |
} | } |
| |
PEGASUS_NAMESPACE_END | PEGASUS_NAMESPACE_END |