(file) Return to CIMParameterRep.cpp CVS log (file) (dir) Up to [Pegasus] / pegasus / src / Pegasus / Common

Diff for /pegasus/src/Pegasus/Common/CIMParameterRep.cpp between version 1.19 and 1.30

version 1.19, 2002/06/01 00:56:27 version 1.30, 2004/04/14 22:18:56
Line 1 
Line 1 
 //%/////////////////////////////////////////////////////////////////////////////  //%2003////////////////////////////////////////////////////////////////////////
 // //
 // Copyright (c) 2000, 2001, 2002 BMC Software, Hewlett-Packard Company, IBM,  // Copyright (c) 2000, 2001, 2002  BMC Software, Hewlett-Packard Development
 // The Open Group, Tivoli Systems  // Company, L. P., IBM Corp., The Open Group, Tivoli Systems.
   // Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L. P.;
   // IBM Corp.; EMC Corporation, The Open Group.
 // //
 // Permission is hereby granted, free of charge, to any person obtaining a copy // Permission is hereby granted, free of charge, to any person obtaining a copy
 // of this software and associated documentation files (the "Software"), to // of this software and associated documentation files (the "Software"), to
Line 23 
Line 25 
 // //
 // Author: Mike Brasher (mbrasher@bmc.com) // Author: Mike Brasher (mbrasher@bmc.com)
 // //
 // Modified By:  // Modified By: Carol Ann Krug Graves, Hewlett-Packard Company
   //                (carolann_graves@hp.com)
 // //
 //%///////////////////////////////////////////////////////////////////////////// //%/////////////////////////////////////////////////////////////////////////////
  
Line 39 
Line 42 
 PEGASUS_NAMESPACE_BEGIN PEGASUS_NAMESPACE_BEGIN
  
 CIMParameterRep::CIMParameterRep( CIMParameterRep::CIMParameterRep(
     const String& name,      const CIMName& name,
     CIMType type,     CIMType type,
     Boolean isArray,     Boolean isArray,
     Uint32 arraySize,     Uint32 arraySize,
     const String& referenceClassName)      const CIMName& referenceClassName)
     : _name(name), _type(type),     : _name(name), _type(type),
     _isArray(isArray), _arraySize(arraySize),     _isArray(isArray), _arraySize(arraySize),
     _referenceClassName(referenceClassName)     _referenceClassName(referenceClassName)
 { {
     if (!CIMName::legal(name))  
         throw IllegalName();  
   
     if (_type == CIMType::NONE)  
         throw NullType();  
   
     if (_arraySize && !_isArray)     if (_arraySize && !_isArray)
         throw IncompatibleTypes();          throw TypeMismatchException();
  
     if (referenceClassName.size())      if (!referenceClassName.isNull())
     {     {
         if (!CIMName::legal(referenceClassName))          if (_type != CIMTYPE_REFERENCE)
             throw IllegalName();  
   
         if (_type != CIMType::REFERENCE)  
         {         {
             throw ExpectedReferenceValue();              throw TypeMismatchException();
         }         }
     }     }
     else     else
     {     {
           // ATTN: revisit this later!  (Make consistent with CIMPropertyRep)
     // ATTN: revisit this later!  
 #if 0 #if 0
         if (_type == CIMType::REFERENCE)          if (_type == CIMTYPE_REFERENCE)
             throw MissingReferenceClassName();              throw TypeMismatchException();
 #endif #endif
     }     }
 } }
Line 83 
Line 76 
  
 } }
  
 void CIMParameterRep::setName(const String& name)  void CIMParameterRep::setName(const CIMName& name)
 { {
     if (!CIMName::legal(name))  
         throw IllegalName();  
   
     _name = name;     _name = name;
 } }
  
   void CIMParameterRep::removeQualifier(Uint32 index)
   {
       if (index >= _qualifiers.getCount())
           throw IndexOutOfBoundsException();
   
       _qualifiers.removeQualifier (index);
   }
   
 void CIMParameterRep::resolve( void CIMParameterRep::resolve(
     DeclContext* declContext,     DeclContext* declContext,
     const String& nameSpace)      const CIMNamespaceName& nameSpace)
 { {
     // Validate the qualifiers of the method (according to     // Validate the qualifiers of the method (according to
     // superClass's method with the same name). This method     // superClass's method with the same name). This method
Line 114 
Line 112 
 { {
     if (_isArray)     if (_isArray)
     {     {
         out << "<PARAMETER.ARRAY";          if (_type == CIMTYPE_REFERENCE)
           {
               out << "<PARAMETER.REFARRAY";
         out << " NAME=\"" << _name << "\" ";         out << " NAME=\"" << _name << "\" ";
  
         out << " TYPE=\"" << _type.toString() << "\"";              if (!_referenceClassName.isNull())
               {
                   out << " REFERENCECLASS=\"" << _referenceClassName.getString()
                       << "\"";
               }
   
               out << ">\n";
   
               _qualifiers.toXml(out);
   
               out << "</PARAMETER.REFARRAY>\n";
           }
           else
           {
               out << "<PARAMETER.ARRAY";
               out << " NAME=\"" << _name << "\" ";
               out << " TYPE=\"" << cimTypeToString (_type) << "\"";
  
         if (_arraySize)         if (_arraySize)
         {         {
Line 133 
Line 148 
  
         out << "</PARAMETER.ARRAY>\n";         out << "</PARAMETER.ARRAY>\n";
     }     }
     else if (_type == CIMType::REFERENCE)      }
       else if (_type == CIMTYPE_REFERENCE)
     {     {
         out << "<PARAMETER.REFERENCE";         out << "<PARAMETER.REFERENCE";
         out << " NAME=\"" << _name << "\" ";         out << " NAME=\"" << _name << "\" ";
         out << " REFERENCECLASS=\"" << _referenceClassName << "\"";          if (!_referenceClassName.isNull())
           {
               out << " REFERENCECLASS=\"" << _referenceClassName.getString() <<
                      "\"";
           }
         out << ">\n";         out << ">\n";
  
         _qualifiers.toXml(out);         _qualifiers.toXml(out);
Line 148 
Line 168 
     {     {
         out << "<PARAMETER";         out << "<PARAMETER";
         out << " NAME=\"" << _name << "\" ";         out << " NAME=\"" << _name << "\" ";
         out << " TYPE=\"" << _type.toString() << "\"";          out << " TYPE=\"" << cimTypeToString (_type) << "\"";
         out << ">\n";         out << ">\n";
  
         _qualifiers.toXml(out);         _qualifiers.toXml(out);
Line 180 
Line 200 
         out << " ";         out << " ";
  
     // Output the data type and name     // Output the data type and name
     out << _type.toString() << " " <<  _name;      out << cimTypeToString (_type) << " " <<  _name;
  
     if (_isArray)     if (_isArray)
     {     {
Line 199 
Line 219 
  
 Boolean CIMParameterRep::identical(const CIMParameterRep* x) const Boolean CIMParameterRep::identical(const CIMParameterRep* x) const
 { {
     if (_name != x->_name)      if (!_name.equal (x->_name))
         return false;         return false;
  
     if (_type != x->_type)     if (_type != x->_type)
         return false;         return false;
  
     if (_referenceClassName != x->_referenceClassName)      if (!_referenceClassName.equal (x->_referenceClassName))
         return false;         return false;
  
     if (!_qualifiers.identical(x->_qualifiers))     if (!_qualifiers.identical(x->_qualifiers))
Line 230 
Line 250 
     x._qualifiers.cloneTo(_qualifiers);     x._qualifiers.cloneTo(_qualifiers);
 } }
  
 void CIMParameterRep::setType(CIMType type)  
 {  
     _type = type;  
   
     if (_referenceClassName.size() == 0 && _type == CIMType::REFERENCE)  
     {  
         throw MissingReferenceClassName();  
     }  
 }  
   
 PEGASUS_NAMESPACE_END PEGASUS_NAMESPACE_END


Legend:
Removed from v.1.19  
changed lines
  Added in v.1.30

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2