/*
    $Log: cimobjects.dxx,v $
    Revision 1.3  2001/02/23 20:27:46  karl
    correct documentation

    Revision 1.2  2001/02/05 14:14:00  karl
    doc++ extension for respository

    Revision 1.1  2001/02/02 18:48:20  karl
    Doc++ expansion

*/
/** @name CIM Objects in Pegasus

The Common Information model (CIM) consists of a number of basic objects
defined in the CIM specification.  This includes:
<UL>
<LI>Classes \Ref{CLASS}
<LI>Instances of Classes \Rf{REFERENCE}
<LI>Qualifiers \Ref{QUALIFIER}
<LI>Properties
<LI>Methods
<LI>Arrays
</UL>
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:
<UL>
<LI> Scope
<LI> Flavor
<LI>Object Path
<LI>etc.
</UL>

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:

<UL>
<LI>TConstructors and destructors
<LI>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.
<LI>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.
<LI>Methods for comparison
<LI>Methods for cloning
<LI>Methods to convert the object to XML
<LI>Methods to convert the object to MOF (Planned)
</UL>
There is a class for every major CIM object and concept as shown in the table in \Ref{CIM Object Table}
*/
