version 1.3, 2009/12/21 13:06:36
|
version 1.3.4.1, 2011/10/11 18:18:09
|
|
|
*/ | */ |
void buildKeyBindingsFromProperties(); | void buildKeyBindingsFromProperties(); |
| |
/** |
//This function is not implemented and now Property filtering is done by |
* Set/replace a property filter on an instance. |
//the CIMOM infrastructure |
* The filter is a white list of property names. |
|
* A property part of the list can be accessed by name or index and |
|
* is eligible to be returned to requester. |
|
* Key properties can not be filtered. They are always a part of the |
|
* instance. If a key property is not part of the property list, |
|
* it will not be filtered out. |
|
* @param propertyList Is an NULL terminated array of char* to |
|
* property names |
|
*/ |
|
void setPropertyFilter(const char **propertyList); | void setPropertyFilter(const char **propertyList); |
| |
/** | /** |
|
|
const char ** valueBase, | const char ** valueBase, |
SCMBClassProperty ** propDef) const | SCMBClassProperty ** propDef) const |
{ | { |
Uint32 node; |
|
// is filtering on ? |
|
if (inst.hdr->flags.isFiltered) |
|
{ |
|
// Get absolut pointer to property filter index map of the instance |
|
Uint32* propertyFilterIndexMap = |
|
(Uint32*)&(inst.base[inst.hdr->propertyFilterIndexMap.start]); |
|
// get the real node index of the property. |
|
node = propertyFilterIndexMap[pos]; |
|
} |
|
else |
|
{ |
|
// the index is used as node index. |
|
node = pos; |
|
} |
|
|
|
SCMBValue* theInstPropNodeArray = | SCMBValue* theInstPropNodeArray = |
(SCMBValue*)&(inst.base[inst.hdr->propertyArray.start]); | (SCMBValue*)&(inst.base[inst.hdr->propertyArray.start]); |
| |
|
|
(SCMBClassPropertyNode*)&(inst.hdr->theClass.ptr->cls.base)[idx]; | (SCMBClassPropertyNode*)&(inst.hdr->theClass.ptr->cls.base)[idx]; |
| |
// return the absolute pointer to the property definition | // return the absolute pointer to the property definition |
*propDef= &(theClassPropNodeArray[node].theProperty); |
*propDef= &(theClassPropNodeArray[pos].theProperty); |
| |
// need check if property set or not, if not set use the default value | // need check if property set or not, if not set use the default value |
if (theInstPropNodeArray[node].flags.isSet) |
if (theInstPropNodeArray[pos].flags.isSet) |
{ | { |
// return the absolute pointer to the property value in the instance | // return the absolute pointer to the property value in the instance |
*value = &(theInstPropNodeArray[node]); |
*value = &(theInstPropNodeArray[pos]); |
*valueBase = inst.base; | *valueBase = inst.base; |
} | } |
else | else |
{ | { |
// return the absolute pointer to | // return the absolute pointer to |
*value = &(theClassPropNodeArray[node].theProperty.defaultValue); |
*value = &(theClassPropNodeArray[pos].theProperty.defaultValue); |
*valueBase = inst.hdr->theClass.ptr->cls.base; | *valueBase = inst.hdr->theClass.ptr->cls.base; |
} | } |
} | } |