CMPI 2.1.0 API
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
CMPI Convenience Functions


 For MB Functions in Broker Function Tables
 For MB Functions of Encapsulated Data Types
 Helper Functions and Macros
 MI Factory Stubs

Detailed Description

The convenience functions in cmpimacs.h are a set of macros and inline functions that ease the use of the various CMPI function tables. They are provided to help the CMPI developer and are NOT required to be used. They do, however, make for cleaner and more readable code.

In CMPI 1.0, the CMPI convenience functions were defined as C preprocessor macros, which coined the term "CMPI macros".

Since CMPI 2.0, they are defined as C inline functions wherever possible. Only a small number of them is still defined as C preprocessor macros.

Since CMPI 2.1, those convenience functions that are defined as C inline functions can also be generated as C preprocessor macros, if the CMPI user defines the symbol CMPI_NO_INLINE.

The convenience functions are NOT documented in the CMPI Standard, just the existence of the cmpimacs.h header file. However, this online documentation documents the convenience functions and includes hyperlinks between the convenience functions and the underlying MB functions or other components of CMPI, in both directions.

The convenience functions follow the same rules for backwards compatibility as the other CMPI functions (see Subclause 1.7 in the CMPI Standard).

The convenience functions can be broken down into the following groups: