version 1.29, 2002/03/25 16:27:51
|
version 1.30, 2002/03/30 19:09:54
|
|
|
// | // |
// Author: Mike Brasher (mbrasher@bmc.com) | // Author: Mike Brasher (mbrasher@bmc.com) |
// | // |
// Modified By: |
// Modified By: Karl Schopmeyer(k.schopmeyer@attglobal.net) |
// | // |
//%///////////////////////////////////////////////////////////////////////////// | //%///////////////////////////////////////////////////////////////////////////// |
| |
|
|
#include "CIMName.h" | #include "CIMName.h" |
#include "CIMQualifierNames.h" | #include "CIMQualifierNames.h" |
#include "XmlWriter.h" | #include "XmlWriter.h" |
|
#include <Pegasus/Common/Tracer.h> |
| |
PEGASUS_NAMESPACE_BEGIN | PEGASUS_NAMESPACE_BEGIN |
PEGASUS_USING_STD; | PEGASUS_USING_STD; |
|
|
return flag; | return flag; |
} | } |
| |
|
Boolean CIMClassRep::isTrueQualifier(const String& name) const |
|
{ |
|
Uint32 pos = findQualifier(name); |
|
|
|
if (pos == PEG_NOT_FOUND) |
|
return false; |
|
|
|
Boolean flag; |
|
const CIMValue& value = getQualifier(pos).getValue(); |
|
|
|
if (value.getType() != CIMType::BOOLEAN) |
|
return false; |
|
|
|
value.get(flag); |
|
return flag; |
|
} |
|
|
void CIMClassRep::setSuperClassName(const String& superClassName) | void CIMClassRep::setSuperClassName(const String& superClassName) |
{ | { |
if (!CIMName::legal(superClassName)) | if (!CIMName::legal(superClassName)) |
|
|
DeclContext* context, | DeclContext* context, |
const String& nameSpace) | const String& nameSpace) |
{ | { |
|
PEG_METHOD_ENTER(TRC_OBJECTRESOLUTION, "CIMClassRep::resolve()"); |
|
|
#if 0 | #if 0 |
if (_resolved) | if (_resolved) |
throw ClassAlreadyResolved(_reference.getClassName()); | throw ClassAlreadyResolved(_reference.getClassName()); |
|
|
if (!context) | if (!context) |
throw NullPointer(); | throw NullPointer(); |
| |
|
Tracer::trace(TRC_OBJECTRESOLUTION, Tracer::LEVEL3, |
|
"CIMClassRep::resolve class = %s, superclass = %i", _reference.getClassName() |
|
, _superClassName); |
|
|
if (_superClassName.size()) | if (_superClassName.size()) |
{ | { |
//cout << "KSTEST Class Resolve with Super class " << getClassName() | //cout << "KSTEST Class Resolve with Super class " << getClassName() |
|
|
if isAbstract() && !superclass.isAbstract() | if isAbstract() && !superclass.isAbstract() |
throw PEGASUS_CIM_EXCEPTION(CIM_ERR_INVALID_SUPERCLASS,_superClassName); | throw PEGASUS_CIM_EXCEPTION(CIM_ERR_INVALID_SUPERCLASS,_superClassName); |
*/ | */ |
|
/*if(superclass.isTrueQualifier("Terminal") |
|
throw PEGASUS_CIM_EXCEPTION(CIM_ERR_INVALID_SUPERCLASS,_superClassName);*/ |
//---------------------------------------------------------------------- | //---------------------------------------------------------------------- |
// Iterate all the properties of *this* class. Resolve each one and | // Iterate all the properties of *this* class. Resolve each one and |
// set the class-origin: | // set the class-origin: |