version 1.8, 2001/04/08 01:13:21
|
version 1.16, 2001/05/23 21:57:14
|
|
|
//BEGIN_LICENSE |
//%///////////////////////////////////////////////////////////////////////////// |
// | // |
// Copyright (c) 2000 The Open Group, BMC Software, Tivoli Systems, IBM | // Copyright (c) 2000 The Open Group, BMC Software, Tivoli Systems, IBM |
// | // |
|
|
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER | // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER |
// DEALINGS IN THE SOFTWARE. | // DEALINGS IN THE SOFTWARE. |
// | // |
//END_LICENSE |
//============================================================================== |
//BEGIN_HISTORY |
|
// | // |
// Author: |
// Author: Mike Brasher (mbrasher@bmc.com) |
// | // |
// $Log$ |
// Modified By: |
// 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 |
|
// Changed print methods to take a stream instead of hardcoded cout |
|
// |
|
// Revision 1.4 2001/02/26 10:13:24 karl |
|
// documentation changes |
|
// |
|
// Revision 1.3 2001/02/20 05:16:57 mike |
|
// Implemented CIMInstance::getInstanceName() |
|
// |
|
// Revision 1.2 2001/02/19 01:47:16 mike |
|
// Renamed names of the form CIMConst to CIMConst. |
|
// |
|
// Revision 1.1 2001/02/18 18:39:05 mike |
|
// new |
|
// |
|
// Revision 1.2 2001/02/18 03:56:00 mike |
|
// Changed more class names (e.g., ConstClassDecl -> CIMConstClass) |
|
// |
|
// Revision 1.1 2001/02/16 02:06:06 mike |
|
// Renamed many classes and headers. |
|
// |
|
// Revision 1.5 2001/01/30 23:39:00 karl |
|
// Add doc++ Documentation to header files |
|
// |
|
// Revision 1.4 2001/01/28 18:48:07 mike |
|
// fixed typo in comment |
|
// |
|
// Revision 1.3 2001/01/28 18:46:50 mike |
|
// more docs |
|
// |
|
// Revision 1.2 2001/01/15 04:31:43 mike |
|
// worked on resolve scheme |
|
// |
|
// Revision 1.1.1.1 2001/01/14 19:50:37 mike |
|
// Pegasus import |
|
// |
|
// |
|
//END_HISTORY |
|
| |
#ifndef Pegasus_ClassDecl_h |
#ifndef Pegasus_CIMClass_h |
#define Pegasus_ClassDecl_h |
#define Pegasus_CIMClass_h |
| |
#include <Pegasus/Common/Config.h> | #include <Pegasus/Common/Config.h> |
#include <Pegasus/Common/CIMClassRep.h> | #include <Pegasus/Common/CIMClassRep.h> |
|
|
| |
/** Constructor - Creates a Class from inputs of a classname and | /** Constructor - Creates a Class from inputs of a classname and |
SuperClassName | SuperClassName |
@param className - String representing name of the class being created |
@param className String representing name of the class being created |
@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> | <pre> |
|
|
Dec(_rep); | Dec(_rep); |
} | } |
| |
/** CIMMethod isAssociation - Identifies whether or not this CIM class |
/** isAssociation - Identifies whether or not this CIM class |
is an association. An association is a relationship between two | is an association. An association is a relationship between two |
(or more) classes or instances of two classes. The properties of an | (or more) classes or instances of two classes. The properties of an |
association class include pointers, or references, to the two (or | association class include pointers, or references, to the two (or |
more) instances. All CIM classes can be included in one or more | more) instances. All CIM classes can be included in one or more |
associations. ATTN: Move the association definition elsewhere |
associations. |
|
ATTN: Move the association definition elsewhere |
@return Boolean True if this CIM class belongs to an association; | @return Boolean True if this CIM class belongs to an association; |
otherwise, false. | otherwise, false. |
*/ | */ |
|
|
return _rep->isAbstract(); | return _rep->isAbstract(); |
} | } |
| |
/** CIMMethod Gets the name of the class |
/** getClassName Gets the name of the class |
ATTN: COMMENT. Why not just get name so we have common method for all. | ATTN: COMMENT. Why not just get name so we have common method for all. |
|
@return Returns string with the class name. |
*/ | */ |
const String& getClassName() const | const String& getClassName() const |
{ | { |
|
|
| |
/** CIMMethod setSuperClassName - Sets the name of the parent class from | /** CIMMethod setSuperClassName - Sets the name of the parent class from |
the input parameter. \REF{CLASSNAME}. ATTN: Define legal classnames | the input parameter. \REF{CLASSNAME}. ATTN: Define legal classnames |
@param - String defining parent name. |
@param String defining parent name. |
@return Throws IllegalName if superClassName argument not legal CIM | @return Throws IllegalName if superClassName argument not legal CIM |
identifier. |
identifier |
|
@exception throws IllegalName if the name is not correct. See |
|
\URL[ClassNames]{DefinitionofTerms.html#CLASSNAME} |
*/ | */ |
void setSuperClassName(const String& superClassName) | void setSuperClassName(const String& superClassName) |
{ | { |
|
|
_rep->setSuperClassName(superClassName); | _rep->setSuperClassName(superClassName); |
} | } |
| |
/** CIMMethod addQualifier - Adds the specified qualifier to the class |
/** addQualifier - Adds the specified qualifier to the class |
and increments the qualifier count. It is illegal to add the same | and increments the qualifier count. It is illegal to add the same |
qualifier more than one time. | qualifier more than one time. |
@param - CIMQualifier object representing the qualifier to be added |
@param qualifier CIMQualifier object representing the qualifier to be |
ATTN: Pointer to qualifier object. |
added |
@return Throws AlreadyExists. |
@return Returns handle of the class object |
|
@exception Throws AlreadyExists. |
*/ | */ |
CIMClass& addQualifier(const CIMQualifier& qualifier) | CIMClass& addQualifier(const CIMQualifier& qualifier) |
{ | { |
|
|
return *this; | return *this; |
} | } |
| |
/** CIMMethod findQualifier - Finds a qualifier with the specified input |
/** findQualifier - Searches for a qualifier with the specified ` |
name if it exists in the class @param name CIMName of the qualifier |
input name if it exists in the class |
to be found @return Position of the qualifier in the Class ATTN: |
@param name CIMName of the qualifier |
Clarify the return. What if not found, etc. |
to be found @return Position of the qualifier in the Class. |
|
@return Returns index of the qualifier found or PEG_NOT_FOUND |
|
if not found. |
*/ | */ |
Uint32 findQualifier(const String& name) | Uint32 findQualifier(const String& name) |
{ | { |
_checkRep(); | _checkRep(); |
return _rep->findQualifier(name); | return _rep->findQualifier(name); |
} | } |
|
/// |
/** CIMMethod FindQualifier - ATTN: |
|
@param name of the qualifier to be found |
|
@return ATTN: Define this |
|
*/ |
|
Uint32 findQualifier(const String& name) const | Uint32 findQualifier(const String& name) const |
{ | { |
_checkRep(); | _checkRep(); |
return _rep->findQualifier(name); | return _rep->findQualifier(name); |
} | } |
|
/** existsQualifier - Returns true if the qualifier with the |
|
specified name exists in the class |
|
@param name String name of the qualifier object being tested. |
|
@return True if the qualifier exits. Otherwise false is returned. |
|
*/ |
|
Boolean existsQualifier(const String& name) |
|
{ |
|
_checkRep(); |
|
return _rep->existsQualifier(name); |
|
} |
|
/// |
|
Boolean existsQualifier(const String& name) const |
|
{ |
|
_checkRep(); |
|
return _rep->existsQualifier(name); |
|
} |
| |
/** CIMMethod getQualifier - Gets the CIMQualifier object defined |
/** getQualifier - Gets the CIMQualifier object defined |
by the input parameter | by the input parameter |
@param pos defines the position of the qualifier in the class from the | @param pos defines the position of the qualifier in the class from the |
findQualifier method | findQualifier method |
|
|
return _rep->getQualifier(pos); | return _rep->getQualifier(pos); |
} | } |
| |
/// CIMMethod getQualifier - ATTN: |
/// getQualifier - ATTN: |
CIMConstQualifier getQualifier(Uint32 pos) const | CIMConstQualifier getQualifier(Uint32 pos) const |
{ | { |
_checkRep(); | _checkRep(); |
return _rep->getQualifier(pos); | return _rep->getQualifier(pos); |
} | } |
| |
/** CIMMethod getQualifierCount - Returns the number of qualifiers |
/** removeQualifier - Removes the qualifier defined by the |
|
index parameter. |
|
@param Defines the index of the qualifier to be removed. |
|
@return There is no return. |
|
@exception Throw OutOfBound exception if the index is outside |
|
the range of existing qualifier objects for this class |
|
*/ |
|
void removeQualifier(Uint32 pos) const |
|
{ |
|
_checkRep(); |
|
_rep->removeQualifier(pos); |
|
} |
|
|
|
/** getQualifierCount - Returns the number of qualifiers |
in the class. | in the class. |
@return ATTN: | @return ATTN: |
*/ | */ |
|
|
return _rep->getQualifierCount(); | return _rep->getQualifierCount(); |
} | } |
| |
/** CIMMethod addProperty - Adds the specified property object to the |
/** addProperty - Adds the specified property object to the |
properties in the CIM class | properties in the CIM class |
*/ | */ |
CIMClass& addProperty(const CIMProperty& x) | CIMClass& addProperty(const CIMProperty& x) |
|
|
return *this; | return *this; |
} | } |
| |
/** CIMMethod removeProperty - Removes the property represented |
|
by the position input parameter from the class |
|
@param position parameter for the property to be removed from the |
|
findPropety method |
|
@return ATTN: |
|
*/ |
|
void removeProperty(Uint32 pos) |
|
{ |
|
_checkRep(); |
|
_rep->removeProperty(pos); |
|
} |
|
| |
/** CIMMethod findProperty - Finds the property object with the | /** CIMMethod findProperty - Finds the property object with the |
name defined by the input parameter in the class. | name defined by the input parameter in the class. |
@param String parameter with the property name. | @param String parameter with the property name. |
@return position representing the property object found. |
@return position representing the property object found or |
ATTN: Clarify case of not found |
PEG_NOT_FOUND if the property is not found. |
*/ | */ |
Uint32 findProperty(const String& name) | Uint32 findProperty(const String& name) |
{ | { |
|
|
return _rep->findProperty(name); | return _rep->findProperty(name); |
} | } |
| |
/// CIMMethod findProperty |
|
Uint32 findProperty(const String& name) const | Uint32 findProperty(const String& name) const |
{ | { |
_checkRep(); | _checkRep(); |
return _rep->findProperty(name); | return _rep->findProperty(name); |
} | } |
| |
/** CIMMethod getProperty - Returns a property representing the property |
/** existsPropery - Determines if a property object with the |
|
name defined by the input parameter exists in the class. |
|
@parm String parameter with the property name. |
|
@return True if the property object exists. |
|
*/ |
|
Boolean existsProperty(const String& name) |
|
{ |
|
_checkRep(); |
|
return _rep->existsProperty(name); |
|
} |
|
Boolean existsProperty(const String& name) const |
|
{ |
|
_checkRep(); |
|
return _rep->existsProperty(name); |
|
} |
|
|
|
/** getProperty - Returns a property representing the property |
defined by the input parameter | defined by the input parameter |
@param position for this property | @param position for this property |
ATTN: Should we not use something like handle for position??? | ATTN: Should we not use something like handle for position??? |
|
|
return _rep->getProperty(pos); | return _rep->getProperty(pos); |
} | } |
| |
/// CIMMethod getProperty - ATTN |
/**getProperty Gets a property object from the CIMClass |
|
@param pos The index of the property object to get. |
|
@return Returns handle of the property object requested |
|
@exception Throws OutofBounds if the size field is greather than the |
|
bunber of properties in the class. |
|
*/ |
CIMConstProperty getProperty(Uint32 pos) const | CIMConstProperty getProperty(Uint32 pos) const |
{ | { |
_checkRep(); | _checkRep(); |
return _rep->getProperty(pos); | return _rep->getProperty(pos); |
} | } |
| |
/** CIMMethod getProperty - Gets the count of the number of properties |
/** removeProperty - Removes the property represented |
|
by the position input parameter from the class |
|
@param pos Index to the property to be removed from the |
|
findPropety method |
|
@exception Throws OutofBounds if index is not a property object |
|
*/ |
|
void removeProperty(Uint32 pos) |
|
{ |
|
_checkRep(); |
|
_rep->removeProperty(pos); |
|
} |
|
|
|
/** getPropertyCount - Gets the count of the number of properties |
defined in the class. | defined in the class. |
@return count of number of proerties in the class | @return count of number of proerties in the class |
*/ | */ |
|
|
return _rep->getPropertyCount(); | return _rep->getPropertyCount(); |
} | } |
| |
/** CIMMethod addMethod - Adds the method object defined by the input |
/** addMethod - Adds the method object defined by the input |
parameter to the class and increments the count of the number of | parameter to the class and increments the count of the number of |
methods in the class | methods in the class |
@param - method object representing the method to be added |
@param method object representing the method to be added |
|
@return Returns the CIMClass object to which the method was added. |
|
@exception Throws AlreadyExists if the method already exists and throws |
|
UnitializedHandle if the handle is not initialized |
*/ | */ |
CIMClass& addMethod(const CIMMethod& x) | CIMClass& addMethod(const CIMMethod& x) |
{ | { |
|
|
return *this; | return *this; |
} | } |
| |
/** CIMMethod findMethod - Located the method object defined by the |
/** findMethod - Locate the method object defined by the |
name input | name input |
@param String representing the name of the method to be found | @param String representing the name of the method to be found |
@return Position of the method object in the class to be used in | @return Position of the method object in the class to be used in |
|
|
return _rep->findMethod(name); | return _rep->findMethod(name); |
} | } |
| |
/// CIMMethod findMethod - ATTN: |
|
Uint32 findMethod(const String& name) const | Uint32 findMethod(const String& name) const |
{ | { |
_checkRep(); | _checkRep(); |
return _rep->findMethod(name); | return _rep->findMethod(name); |
} | } |
| |
/** CIMMethod getMethod - Gets the method object defined by the |
/** existsMethod - Determine if the method object defined by the |
|
name input exists |
|
@param String representing the name of the method to be found |
|
@return True if the method exists |
|
*/ |
|
Boolean existsMethod(const String& name) |
|
{ |
|
_checkRep(); |
|
return _rep->existsMethod(name); |
|
} |
|
|
|
Boolean existsMethod(const String& name) const |
|
{ |
|
_checkRep(); |
|
return _rep->existsMethod(name); |
|
} |
|
|
|
|
|
/** getMethod - Gets the method object defined by the |
input parameter. | input parameter. |
@param ATTN: |
@param pos Index to the CIMMethod object to get |
@ method object representing the method defined |
@return Returns handle of the CIMMethod requested |
ATTN: Error??? |
@exception Throws OutofBounds if the index represented by pos is greater |
|
than the number of methods defined in the class object |
*/ | */ |
CIMMethod getMethod(Uint32 pos) | CIMMethod getMethod(Uint32 pos) |
{ | { |
|
|
return _rep->getMethod(pos); | return _rep->getMethod(pos); |
} | } |
| |
/// CIMMethod getMethod - ATTN: |
/** getMethod Gets the method object defined by the input |
|
parameter. This is the const version. |
|
*/ |
|
|
CIMConstMethod getMethod(Uint32 pos) const | CIMConstMethod getMethod(Uint32 pos) const |
{ | { |
_checkRep(); | _checkRep(); |
return _rep->getMethod(pos); | return _rep->getMethod(pos); |
} | } |
| |
|
/** removeMethod - Removes the method defined by the |
|
index parameter. |
|
@param Defines the index of the method to be removed. |
|
@return There is no return. |
|
@exception Throw OutOfBound exception if the index is outside |
|
the range of existing method objects for this class |
|
*/ |
|
void removeMethod(Uint32 pos) const |
|
{ |
|
_checkRep(); |
|
_rep->removeMethod(pos); |
|
} |
|
|
/** CIMMethod getMethodCount - Count of the number of methods in the class | /** CIMMethod getMethodCount - Count of the number of methods in the class |
@return integer representing the number of methods in the class |
@return integer representing the number of methods in the class object. |
*/ | */ |
Uint32 getMethodCount() const | Uint32 getMethodCount() const |
{ | { |
|
|
return _rep->getMethodCount(); | return _rep->getMethodCount(); |
} | } |
| |
/** CIMMethod Resolve - Resolve the class: inherit any properties and |
/** Resolve - Resolve the class: inherit any properties and |
qualifiers. Make sure the superClass really exists and is consistent | qualifiers. Make sure the superClass really exists and is consistent |
with this class. Also set the propagated flag class-origin for each | with this class. Also set the propagated flag class-origin for each |
class feature. | class feature. |
|
|
} | } |
| |
/// CIMMethod print | /// CIMMethod print |
void print(std::ostream &o=std::cout) const |
void print(PEGASUS_STD(ostream) &o=PEGASUS_STD(cout)) const |
{ | { |
_checkRep(); | _checkRep(); |
_rep->print(o); | _rep->print(o); |
|
|
| |
/** CIMMethod identical - Compares with another class | /** CIMMethod identical - Compares with another class |
ATTN: Clarify exactly what identical means | ATTN: Clarify exactly what identical means |
@parm Class object for the class to be compared |
@param 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 CIMConstClass& x) const; | Boolean identical(const CIMConstClass& x) const; |
|
|
void _checkRep() const | void _checkRep() const |
{ | { |
if (!_rep) | if (!_rep) |
throw UnitializedHandle(); |
ThrowUnitializedHandle(); |
} | } |
| |
CIMClassRep* _rep; | CIMClassRep* _rep; |
|
|
_rep->toXml(out); | _rep->toXml(out); |
} | } |
| |
void print(std::ostream &o=std::cout) const |
void print(PEGASUS_STD(ostream) &o=PEGASUS_STD(cout)) const |
{ | { |
_checkRep(); | _checkRep(); |
_rep->print(o); | _rep->print(o); |
|
|
void _checkRep() const | void _checkRep() const |
{ | { |
if (!_rep) | if (!_rep) |
throw UnitializedHandle(); |
ThrowUnitializedHandle(); |
} | } |
| |
CIMClassRep* _rep; | CIMClassRep* _rep; |
|
|
| |
PEGASUS_NAMESPACE_END | PEGASUS_NAMESPACE_END |
| |
#endif /* Pegasus_ClassDecl_h */ |
#endif /* Pegasus_CIMClass_h */ |
|
|
|
|