CMPI 2.1.0 API
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
Data Fields
CMPIPropertyListFT Struct Reference

Function table of CMPIPropertyList encapsulated data type object. More...

#include <cmpift.h>

Data Fields

CMPIVersion ftVersion
 CMPI version supported by the MB for this function table. More...
 
CMPIStatus(* release )(CMPIPropertyList *plist)
 Release a CMPIPropertyList object. More...
 
CMPIPropertyList *(* clone )(const CMPIPropertyList *plist, CMPIStatus *rc)
 Create an independent copy of a CMPIPropertyList object. More...
 
CMPIBoolean(* isPropertyInList )(const CMPIPropertyList *plist, const char *pname, CMPIStatus *rc)
 Test whether a property is in the property list represented by a CMPIPropertyList object. More...
 
const char **(* getProperties )(const CMPIPropertyList *plist, CMPIStatus *rc)
 Return the property list represented by a CMPIPropertyList object as an array of strings. More...
 

Detailed Description

Function table of CMPIPropertyList encapsulated data type object.

Addition:
Added in CMPI 2.1.

Field Documentation

CMPIVersion CMPIPropertyListFT::ftVersion

CMPI version supported by the MB for this function table.

Any earlier CMPI versions are implicitly also supported.

See CMPIVersion<NNN> for valid CMPI version numbers.

CMPIStatus(* CMPIPropertyListFT::release)(CMPIPropertyList *plist)

Release a CMPIPropertyList object.

CMPIPropertyListFT.release() releases a CMPIPropertyList object. This indicates to the MB that the object (including any objects it contains) will no longer be used by the MI. The MB may free (=reclaim) the memory associated with the object during the call to this function, or later during some garbage collection cycle (see Subclause 4.1.7 of the CMPI Standard).

Parameters
plistPoints to the CMPIPropertyList object that is to be released. That object shall have been created using CMPIPropertyListFT.clone().
Returns
CMPIStatus structure containing the function return status.
Errors
The function return status will indicate one of the following CMPIrc codes:
  • CMPI_RC_OK - Function successful.
  • CMPI_RC_ERR_INVALID_HANDLE - The plist handle is invalid.
Convenience Function
CMRelease()
Addition:
Added in CMPI 2.1.
CMPIPropertyList*(* CMPIPropertyListFT::clone)(const CMPIPropertyList *plist, CMPIStatus *rc)

Create an independent copy of a CMPIPropertyList object.

CMPIPropertyListFT.clone() creates an independent copy of a CMPIPropertyList object.

Parameters
plistPoints to the CMPIPropertyList object that is to be copied.
[out]rcIf not NULL, points to a CMPIStatus structure that upon return has been updated with the function return status
Returns

If successful, a pointer to the copied CMPIPropertyList object will be returned.

The returned CMPIPropertyList object shall be explicitly released by the MI using CMPIPropertyListFT.release().

If not successful, NULL will be returned.

Errors
The function return status will indicate one of the following CMPIrc codes:
  • CMPI_RC_OK - Function successful.
  • CMPI_RC_ERR_INVALID_HANDLE - The plist handle is invalid.
Convenience Function
CMClone()
Addition:
Added in CMPI 2.1.
CMPIBoolean(* CMPIPropertyListFT::isPropertyInList)(const CMPIPropertyList *plist, const char *pname, CMPIStatus *rc)

Test whether a property is in the property list represented by a CMPIPropertyList object.

CMPIPropertyListFT.isPropertyInList() tests whether a property is in the property list represented by a CMPIPropertyList object.

The MB's implementation of this function should be efficient. However, it is recommended that MIs when returning many instances invoke this function only once for each property, and cache the result.

Parameters
plistPoints to the CMPIPropertyList object for this function.
pnameName of the property to be tested.
[out]rcIf not NULL, points to a CMPIStatus structure that upon return has been updated with the function return status
Returns
If successful, a CMPIBoolean value indicating the test result will be returned, as follows:
  • True indicates that the property is in the property list;
  • False indicates that this is not the case.
If not successful, False will be returned.
Errors
The function return status will indicate one of the following CMPIrc codes:
  • CMPI_RC_OK - Function successful.
  • CMPI_RC_ERR_INVALID_HANDLE - The plist handle is invalid.
  • CMPI_RC_ERR_INVALID_PARAMETER - The pname value is invalid.
Convenience Function
CMIsPropertyInList()
Addition:
Added in CMPI 2.1.
const char**(* CMPIPropertyListFT::getProperties)(const CMPIPropertyList *plist, CMPIStatus *rc)

Return the property list represented by a CMPIPropertyList object as an array of strings.

CMPIPropertyListFT.getProperties() returns the property list represented by a CMPIPropertyList object as a NULL-terminated array of pointers to strings.

Parameters
plistPoints to the CMPIPropertyList object for this function.
[out]rcIf not NULL, points to a CMPIStatus structure that upon return will have been updated with the function return status.
Returns

If successful, a pointer to the first entry of a NULL-terminated array of pointers to strings that represent the property names in the property list represented by the CMPIPropertyList object will be returned.

The entries in that array may be in any order and in any lexical case (possibly different than originally specified in CMPIBrokerEncFT.newPropertyList()).

The returned array shall not be explicitly released by the MI, because it may point to an internal data area in the CMPIPropertyList object which will be released along with that object, or it may point to a new array created by the MB which will be released automatically by the MB (see Subclause 4.1.7 of the CMPI Standard).

If not successful, NULL will be returned.

Errors
The function return status will indicate one of the following CMPIrc codes:
  • CMPI_RC_OK - Function successful.
  • CMPI_RC_ERR_INVALID_HANDLE - The plist handle is invalid.
Convenience Function
CMGetListProperties()
Addition:
Added in CMPI 2.1.

The documentation for this struct was generated from the following file: