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

Function table of CMPISelectExp 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 )(CMPISelectExp *se)
 Release a CMPISelectExp object. More...
 
CMPISelectExp *(* clone )(const CMPISelectExp *se, CMPIStatus *rc)
 Create an independent copy of a CMPISelectExp object. More...
 
CMPIBoolean(* evaluate )(const CMPISelectExp *se, const CMPIInstance *inst, CMPIStatus *rc)
 Test whether an instance matches the select expression in a CMPISelectExp object. More...
 
CMPIString *(* getString )(const CMPISelectExp *se, CMPIStatus *rc)
 Get the select expression in a CMPISelectExp object as a string. More...
 
CMPISelectCond *(* getDOC )(const CMPISelectExp *se, CMPIStatus *rc)
 Get the select expression in a CMPISelectExp object as a disjunction of conjunctions. More...
 
CMPISelectCond *(* getCOD )(const CMPISelectExp *se, CMPIStatus *rc)
 Get the select expression in a CMPISelectExp object as a conjunction of disjunctions. More...
 
CMPIBoolean(* evaluateUsingAccessor )(const CMPISelectExp *se, CMPIAccessor *accessor, void *parm, CMPIStatus *rc)
 Test whether the properties returned by an accessor function match the select expression in a CMPISelectExp object. More...
 

Detailed Description

Function table of CMPISelectExp encapsulated data type object.

Capabilities:
Part of the Query Normalization capability.

Field Documentation

CMPIVersion CMPISelectExpFT::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(* CMPISelectExpFT::release)(CMPISelectExp *se)

Release a CMPISelectExp object.

CMPISelectExpFT.release() releases a CMPISelectExp 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
sePoints to the CMPISelectExp object that is to be released. That object shall have been created using CMPISelectExpFT.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 se handle is invalid.
Convenience Function
CMRelease()
Capabilities:
Part of the Query Normalization capability.
CMPISelectExp*(* CMPISelectExpFT::clone)(const CMPISelectExp *se, CMPIStatus *rc)

Create an independent copy of a CMPISelectExp object.

CMPISelectExpFT.clone() creates an independent copy of a CMPISelectExp object.

Parameters
sePoints to the CMPISelectExp object that is to be copied.
[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 copied CMPISelectExp object will be returned.

The returned CMPISelectExp object shall be explicitly released by the MI using CMPISelectExpFT.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 se handle is invalid.
Convenience Function
CMClone()
Capabilities:
Part of the Query Normalization capability.
CMPIBoolean(* CMPISelectExpFT::evaluate)(const CMPISelectExp *se, const CMPIInstance *inst, CMPIStatus *rc)

Test whether an instance matches the select expression in a CMPISelectExp object.

CMPISelectExpFT.evaluate() tests whether an instance matches the select expression in a CMPISelectExp object.

Parameters
sePoints to the CMPISelectExp object for this function.
instPoints to a CMPIInstance object containing the instance to be tested.
[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 CMPIBoolean value will be returned, indicating the test result as follows:
  • True indicates that the instance matches the select expression;
  • 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 se handle is invalid.
  • CMPI_RC_ERR_INVALID_PARAMETER - inst is invalid.
Convenience Function
CMEvaluateSelExp()
Capabilities:
Part of the Query Normalization capability.
Change:
In CMPI 2.1, added the return code CMPI_RC_ERR_INVALID_PARAMETER.
CMPIString*(* CMPISelectExpFT::getString)(const CMPISelectExp *se, CMPIStatus *rc)

Get the select expression in a CMPISelectExp object as a string.

CMPISelectExpFT.getString() gets the select expression in a CMPISelectExp object as a string.

Parameters
sePoints to the CMPISelectExp 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 a CMPIString object cointaining the select expression in string format will be returned.

The returned CMPIString object shall not be explicitly released by the MI, because it may be an internal object of the CMPISelectExp object which will be released along with that object, or a new object 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 se handle is invalid.
Convenience Function
CMGetSelExpString()
Capabilities:
Part of the Query Normalization capability.
CMPISelectCond*(* CMPISelectExpFT::getDOC)(const CMPISelectExp *se, CMPIStatus *rc)

Get the select expression in a CMPISelectExp object as a disjunction of conjunctions.

CMPISelectExpFT.getDOC() gets the select expression as a disjunction of conjunctions. This function transforms the WHERE clause of the select expression into a canonical disjunction of onjunctions (DOC) form (OR'ing of AND'ed comparison expressions). This enables handling of the expression in the WHERE clause more easily than using a tree form.

Parameters
sePoints to the CMPISelectExp 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 a CMPISelectCond object containing the transformed select expression will be returned.

The returned CMPISelectCond object shall not be explicitly released by the MI, because it may be an internal object of the CMPISelectExp object which will be released along with that object, or a new object 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_NOT_SUPPORTED - Function is not supported by the MB. (Deprecated)
  • CMPI_RC_ERR_INVALID_HANDLE - The se handle is invalid.
Convenience Function
CMGetDoc()
Capabilities:
Part of the Query Normalization capability.
Deprecated:
The return code CMPI_RC_ERR_NOT_SUPPORTED is deprecated since CMPI 2.1. If the Query Normalization" capability is not available, this function cannot be called by the MI because no instance of its encapsulated data type can exist.
CMPISelectCond*(* CMPISelectExpFT::getCOD)(const CMPISelectExp *se, CMPIStatus *rc)

Get the select expression in a CMPISelectExp object as a conjunction of disjunctions.

CMPISelectExpFT.getCOD() returns the select expression as conjunction of disjunctions.This function transforms the WHERE clause of the select expression into a canonical conjunction of disjunctions (COD) form (AND'ing of OR'ed comparison expressions). This enables handling of the expression in the WHERE clause more easily than using a tree form. See Subclause 4.6.3 of the CMPI Standard for details.

Parameters
sePoints to the CMPISelectExp 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 a CMPISelectCond object containing the transformed select expression will be returned.

The returned CMPISelectCond object shall not be explicitly released by the MI, because it may be an internal object of the CMPISelectExp object which will be released along with that object, or a new object 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_NOT_SUPPORTED - Function is not supported by the MB. (Deprecated)
  • CMPI_RC_ERR_INVALID_HANDLE - The se handle is invalid.
Convenience Function
CMGetCod()
Capabilities:
Part of the Query Normalization capability.
Deprecated:
The return code CMPI_RC_ERR_NOT_SUPPORTED is deprecated since CMPI 2.1. If the Query Normalization" capability is not available, this function cannot be called by the MI because no instance of its encapsulated data type can exist.
CMPIBoolean(* CMPISelectExpFT::evaluateUsingAccessor)(const CMPISelectExp *se, CMPIAccessor *accessor, void *parm, CMPIStatus *rc)

Test whether the properties returned by an accessor function match the select expression in a CMPISelectExp object.

CMPISelectExpFT.evaluateUsingAccessor() tests whether the properties returned by an accessor function match the select expression in a CMPISelectExp object. This function is a variation of CMPISelectExpFT.evaluate(). It enables evaluation without the need to create a CMPIInstance object.

Parameters
sePoints to the CMPISelectExp object for this function, containing the select expression.
accessorFncPoints to a property value accessor function. The evaluation process will invoke this function to request a CMPIData structure for a particular property. For a definition of the signature of the accessor function, see CMPIAccessor.
parmA parameter that will be passed to the accessor function and can be used for providing context data to the accessor 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 CMPIBoolean value indicating the test result will be returned, as follows:
  • True indicates that the properties returned by the accessor function match the select expression;
  • 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 se handle is invalid.
  • CMPI_RC_ERR_INVALID_PARAMETER - accessorFnc is invalid.
Convenience Function
CMEvaluateSelExpUsingAccessor()
Capabilities:
Part of the Query Normalization capability.
Bug:
The CMPI Standard declares the accessor argument of this function with a const in its type: const CMPIAccessor* accessor. The const is redundant and is being warned about by some compiler. The const has been removed in the header files and should be removed in the specification as well.

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