The Common Information model (CIM) consists of a number of basic objects
defined in the CIM specification. This includes:
- Classes CLASS
- Instances of Classes \Rf{REFERENCE}
- Qualifiers QUALIFIER
- Properties
- Methods
- Arrays
Pegasus implements representations of these objects in C++ classes and
provides methods for creation, manipulation, and deletion of the objects.
In addition, Pegasus implements a number of the key concepts built into CIM as objects including:
- Scope
- Flavor
- Object Path
- etc.
Much of the programming of the Pegasus object broker, clients, and in particular providers and service extensions in the Pegasus envrinment depends on the use of these C++ representations of CIM Objects and concepts.
Each Pegasus CIM C++ Object representation includes:
- TConstructors and destructors
- Methods for manipulation of sub-objects. Thus, the class and instance classes provide for manipulation of the property, qualifier, and method objects that are contained in these classes.
- Methods for finding sub-objects. Thus, the class and instance classes provide for finding property, qualifier, and method objects within an instnace of a CIMClass or CIMInstance. These methods are generally built around defining the name of the object to be found and having an index to that object returned.
- Methods for comparison
- Methods for cloning
- Methods to convert the object to XML
- Methods to convert the object to MOF (Planned)
There is a class for every major CIM object and concept as shown in the table in CIM Object Table