version 1.5, 2001/03/04 21:57:34
|
version 1.8, 2001/04/08 01:13:21
|
|
|
// Author: | // Author: |
// | // |
// $Log$ | // $Log$ |
|
// Revision 1.8 2001/04/08 01:13:21 mike |
|
// Changed "ConstCIM" to "CIMConst" |
|
// |
|
// Revision 1.6 2001/03/29 16:40:31 karl |
|
// add doc |
|
// |
// Revision 1.5 2001/03/04 21:57:34 bob | // Revision 1.5 2001/03/04 21:57:34 bob |
// Changed print methods to take a stream instead of hardcoded cout | // Changed print methods to take a stream instead of hardcoded cout |
// | // |
|
|
// Implemented CIMInstance::getInstanceName() | // Implemented CIMInstance::getInstanceName() |
// | // |
// Revision 1.2 2001/02/19 01:47:16 mike | // Revision 1.2 2001/02/19 01:47:16 mike |
// Renamed names of the form CIMConst to ConstCIM. |
// Renamed names of the form CIMConst to CIMConst. |
// | // |
// Revision 1.1 2001/02/18 18:39:05 mike | // Revision 1.1 2001/02/18 18:39:05 mike |
// new | // new |
// | // |
// Revision 1.2 2001/02/18 03:56:00 mike | // Revision 1.2 2001/02/18 03:56:00 mike |
// Changed more class names (e.g., ConstClassDecl -> ConstCIMClass) |
// Changed more class names (e.g., ConstClassDecl -> CIMConstClass) |
// | // |
// Revision 1.1 2001/02/16 02:06:06 mike | // Revision 1.1 2001/02/16 02:06:06 mike |
// Renamed many classes and headers. | // Renamed many classes and headers. |
|
|
| |
PEGASUS_NAMESPACE_BEGIN | PEGASUS_NAMESPACE_BEGIN |
| |
class ConstCIMClass; |
class CIMConstClass; |
| |
/** The CIMClass class is used to represent CIM classes in Pegasus. In CIM, | /** The CIMClass class is used to represent CIM classes in Pegasus. In CIM, |
a class object may be a class or an associator. A CIM class must contain a | a class object may be a class or an associator. A CIM class must contain a |
|
|
{ | { |
public: | public: |
| |
/** Constructor - Creates and instantiates a new object reprenting a CIM |
/** Constructor - Creates an uninitiated a new CIM object |
class. If you use this constructor, use setName to define a name for |
reprenting a CIM class. The class object created by this |
the class |
constructor can only be used in an operation such as the |
|
copy constructor. It cannot be used to create a class by |
|
appending names, properties, etc. since it is unitiated. |
|
|
|
Use one of the other constructors to create an initiated new CIM class |
|
object. |
|
@exception Throws an exception "unitialized handle" if this |
|
unitialized handle is used |
|
/REF(HPEGASUS_HANDLES) |
*/ | */ |
CIMClass() : _rep(0) | CIMClass() : _rep(0) |
{ | { |
| |
} | } |
| |
/// Constructor - Creates a class from a previous class |
/** Constructor - Creates a class from a previous class |
|
*/ |
CIMClass(const CIMClass& x) | CIMClass(const CIMClass& x) |
{ | { |
Inc(_rep = x._rep); | Inc(_rep = x._rep); |
} | } |
| |
/// Operator = ATTN: |
/// Operator = Assigns the CIM Class constructor. |
CIMClass& operator=(const CIMClass& x) | CIMClass& operator=(const CIMClass& x) |
{ | { |
if (x._rep != _rep) | if (x._rep != _rep) |
|
|
@param superClassName - String representing name of the SuperClass | @param superClassName - String representing name of the SuperClass |
ATTN: Define what makes up legal name. | ATTN: Define what makes up legal name. |
@return Throws IllegalName if className argument illegal CIM identifier. | @return Throws IllegalName if className argument illegal CIM identifier. |
|
<pre> |
|
CIMClass NewCass("MyClass", "YourClass"); |
|
</pre> |
|
|
*/ | */ |
CIMClass( | CIMClass( |
const String& className, | const String& className, |
|
|
} | } |
| |
/// CIMMethod getProperty - ATTN | /// CIMMethod getProperty - ATTN |
ConstCIMProperty getProperty(Uint32 pos) const |
CIMConstProperty getProperty(Uint32 pos) const |
{ | { |
_checkRep(); | _checkRep(); |
return _rep->getProperty(pos); | return _rep->getProperty(pos); |
|
|
@parm Class object for the class to be compared | @parm Class object for the class to be compared |
@return True if the classes are identical | @return True if the classes are identical |
*/ | */ |
Boolean identical(const ConstCIMClass& x) const; |
Boolean identical(const CIMConstClass& x) const; |
| |
/// CIMMethod clone - ATTN: | /// CIMMethod clone - ATTN: |
CIMClass clone() const | CIMClass clone() const |
|
|
} | } |
| |
CIMClassRep* _rep; | CIMClassRep* _rep; |
friend class ConstCIMClass; |
friend class CIMConstClass; |
}; | }; |
| |
/** ConstCIMClass - ATTN: define this. |
/** CIMConstClass - ATTN: define this. |
| |
*/ | */ |
| |
class PEGASUS_COMMON_LINKAGE ConstCIMClass |
class PEGASUS_COMMON_LINKAGE CIMConstClass |
{ | { |
public: | public: |
| |
ConstCIMClass() : _rep(0) |
CIMConstClass() : _rep(0) |
{ | { |
| |
} | } |
| |
ConstCIMClass(const ConstCIMClass& x) |
CIMConstClass(const CIMConstClass& x) |
{ | { |
Inc(_rep = x._rep); | Inc(_rep = x._rep); |
} | } |
| |
ConstCIMClass(const CIMClass& x) |
CIMConstClass(const CIMClass& x) |
{ | { |
Inc(_rep = x._rep); | Inc(_rep = x._rep); |
} | } |
| |
ConstCIMClass& operator=(const ConstCIMClass& x) |
CIMConstClass& operator=(const CIMConstClass& x) |
{ | { |
if (x._rep != _rep) | if (x._rep != _rep) |
{ | { |
|
|
return *this; | return *this; |
} | } |
| |
ConstCIMClass& operator=(const CIMClass& x) |
CIMConstClass& operator=(const CIMClass& x) |
{ | { |
if (x._rep != _rep) | if (x._rep != _rep) |
{ | { |
|
|
| |
// Throws IllegalName if className argument not legal CIM identifier. | // Throws IllegalName if className argument not legal CIM identifier. |
| |
ConstCIMClass( |
CIMConstClass( |
const String& className, | const String& className, |
const String& superClassName = String()) | const String& superClassName = String()) |
{ | { |
_rep = new CIMClassRep(className, superClassName); | _rep = new CIMClassRep(className, superClassName); |
} | } |
| |
~ConstCIMClass() |
~CIMConstClass() |
{ | { |
Dec(_rep); | Dec(_rep); |
} | } |
|
|
return _rep->findProperty(name); | return _rep->findProperty(name); |
} | } |
| |
ConstCIMProperty getProperty(Uint32 pos) const |
CIMConstProperty getProperty(Uint32 pos) const |
{ | { |
_checkRep(); | _checkRep(); |
return _rep->getProperty(pos); | return _rep->getProperty(pos); |
|
|
_rep->print(o); | _rep->print(o); |
} | } |
| |
Boolean identical(const ConstCIMClass& x) const |
Boolean identical(const CIMConstClass& x) const |
{ | { |
x._checkRep(); | x._checkRep(); |
_checkRep(); | _checkRep(); |