version 1.3, 2001/12/24 02:23:03
|
version 1.6, 2002/02/23 03:47:22
|
|
|
// | // |
// Author: Nitin Upasani, Hewlett-Packard Company (Nitin_Upasani@hp.com) | // Author: Nitin Upasani, Hewlett-Packard Company (Nitin_Upasani@hp.com) |
// | // |
// Modified By: |
// Modified By: Roger Kumpf, Hewlett-Packard Company (roger_kumpf@hp.com) |
// | // |
//%///////////////////////////////////////////////////////////////////////////// | //%///////////////////////////////////////////////////////////////////////////// |
| |
|
|
#include <Pegasus/Common/Exception.h> | #include <Pegasus/Common/Exception.h> |
#include <Pegasus/Common/String.h> | #include <Pegasus/Common/String.h> |
#include <Pegasus/Common/Sharable.h> | #include <Pegasus/Common/Sharable.h> |
#include <Pegasus/Common/CIMQualifier.h> |
#include <Pegasus/Common/CIMValue.h> |
#include <Pegasus/Common/CIMQualifierList.h> |
|
#include <Pegasus/Common/CIMParameter.h> |
|
| |
PEGASUS_NAMESPACE_BEGIN | PEGASUS_NAMESPACE_BEGIN |
| |
class DeclContext; |
|
class CIMConstParameter; |
|
|
|
// REVIEW: This class should be renamed to CIMParameterValueRep to be consistent |
|
// REVIEW: with the name of the CIMParameterRep class. |
|
|
|
// REVIEW: This class contains a CIMParameter but then repeats many of the |
|
// REVIEW: members that CIMParameter contains. The standard does not provide |
|
// REVIEW: a way of passing the type of the CIMParameter. However, CIMParameter |
|
// REVIEW: has a type tag. There is no way to get this information from the wire |
|
// REVIEW: and therefore this class is unworkable. |
|
// REVIEW: In any case, CIMParamValueRep should not repeat the _isArray, |
|
// REVIEW: _arraySize, _referenceClassName, and _qualifiers fields. |
|
|
|
class PEGASUS_COMMON_LINKAGE CIMParamValueRep : public Sharable | class PEGASUS_COMMON_LINKAGE CIMParamValueRep : public Sharable |
{ | { |
public: | public: |
| |
CIMParamValueRep( | CIMParamValueRep( |
CIMParameter parameter, |
String parameterName, |
CIMValue value, | CIMValue value, |
Boolean isArray, |
Boolean isTyped=true); |
Uint32 arraySize, |
|
const String& referenceClassName); |
|
| |
~CIMParamValueRep(); | ~CIMParamValueRep(); |
| |
Boolean isArray() const |
const String & getParameterName() const |
{ |
|
return _isArray; |
|
} |
|
|
|
Uint32 getAraySize() const |
|
{ |
|
return _arraySize; |
|
} |
|
|
|
const String& getReferenceClassName() const |
|
{ |
|
return _referenceClassName; |
|
} |
|
|
|
const CIMParameter getParameter() const |
|
{ | { |
return _parameter; |
return _parameterName; |
} | } |
| |
const CIMValue getValue() const |
const CIMValue & getValue() const |
{ | { |
return _value; | return _value; |
} | } |
| |
void setParameter(CIMParameter parameter); |
Boolean isTyped() const |
|
|
void setValue(CIMValue value); |
|
|
|
void addQualifier(const CIMQualifier& qualifier) |
|
{ | { |
_qualifiers.add(qualifier); |
return _isTyped; |
} | } |
| |
CIMQualifier getQualifier(Uint32 pos) |
void setParameterName(String& parameterName); |
{ |
|
return _qualifiers.getQualifier(pos); |
|
} |
|
| |
CIMConstQualifier getQualifier(Uint32 pos) const |
void setValue(CIMValue& value); |
{ |
|
return _qualifiers.getQualifier(pos); |
|
} |
|
| |
Uint32 getQualifierCount() const |
void setIsTyped(Boolean isTyped); |
{ |
|
return _qualifiers.getCount(); |
|
} |
|
|
|
void resolve(DeclContext* declContext, const String& nameSpace); |
|
| |
void toXml(Array<Sint8>& out) const; | void toXml(Array<Sint8>& out) const; |
| |
void toMof(Array<Sint8>& out) const; |
|
|
|
void print(PEGASUS_STD(ostream) &o=PEGASUS_STD(cout)) const; | void print(PEGASUS_STD(ostream) &o=PEGASUS_STD(cout)) const; |
| |
Boolean identical(const CIMParamValueRep* x) const; | Boolean identical(const CIMParamValueRep* x) const; |
|
|
| |
CIMParamValueRep& operator=(const CIMParamValueRep& x); | CIMParamValueRep& operator=(const CIMParamValueRep& x); |
| |
CIMParameter _parameter; |
String _parameterName; |
CIMValue _value; | CIMValue _value; |
Boolean _isArray; |
Boolean _isTyped; |
Uint32 _arraySize; |
|
String _referenceClassName; |
|
CIMQualifierList _qualifiers; |
|
}; | }; |
| |
PEGASUS_NAMESPACE_END | PEGASUS_NAMESPACE_END |