(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.1 and 1.13

version 1.1, 2001/02/18 18:39:06 version 1.13, 2002/02/25 17:41:54
Line 1 
Line 1 
 //BEGIN_LICENSE  //%/////////////////////////////////////////////////////////////////////////////
 // //
 // Copyright (c) 2000 The Open Group, BMC Software, Tivoli Systems, IBM  // Copyright (c) 2000, 2001 The Open group, BMC Software, Tivoli Systems, IBM
 // //
 // Permission is hereby granted, free of charge, to any person obtaining a  // Permission is hereby granted, free of charge, to any person obtaining a copy
 // copy of this software and associated documentation files (the "Software"),  // of this software and associated documentation files (the "Software"), to
 // to deal in the Software without restriction, including without limitation  // deal in the Software without restriction, including without limitation the
 // the rights to use, copy, modify, merge, publish, distribute, sublicense,  // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
 // and/or sell copies of the Software, and to permit persons to whom the  // sell copies of the Software, and to permit persons to whom the Software is
 // Software is furnished to do so, subject to the following conditions:  // furnished to do so, subject to the following conditions:
 // //
 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR  // THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,  // ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL  // "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
 // THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER  // LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING  // PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
 // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER  // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
 // DEALINGS IN THE SOFTWARE.  // ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
   // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 // //
 //END_LICENSE  //==============================================================================
 //BEGIN_HISTORY  
 // //
 // Author:  // Author: Mike Brasher (mbrasher@bmc.com)
 // //
 // $Log$  // Modified By:
 // Revision 1.1  2001/02/18 18:39:06  mike  
 // new  
 // //
 // Revision 1.1  2001/02/16 02:07:06  mike  //%/////////////////////////////////////////////////////////////////////////////
 // Renamed many classes and headers (using new CIM prefixes).  
 //  
 // Revision 1.2  2001/01/22 00:45:47  mike  
 // more work on resolve scheme  
 //  
 // Revision 1.1.1.1  2001/01/14 19:53:02  mike  
 // Pegasus import  
 //  
 //  
 //END_HISTORY  
  
   #include <Pegasus/Common/Config.h>
 #include <cstdio> #include <cstdio>
 #include "CIMParameter.h" #include "CIMParameter.h"
 #include "Indentor.h" #include "Indentor.h"
Line 66 
Line 55 
     if (_arraySize && !_isArray)     if (_arraySize && !_isArray)
         throw IncompatibleTypes();         throw IncompatibleTypes();
  
     if (referenceClassName.getLength())      if (referenceClassName.size())
     {     {
         if (!CIMName::legal(referenceClassName))         if (!CIMName::legal(referenceClassName))
             throw IllegalName();             throw IllegalName();
Line 141 
Line 130 
  
         out << "</PARAMETER.ARRAY>\n";         out << "</PARAMETER.ARRAY>\n";
     }     }
       else if (_type == CIMType::REFERENCE)
       {
           out << "<PARAMETER.REFERENCE";
           out << " NAME=\"" << _name << "\" ";
           out << " REFERENCECLASS=\"" << _referenceClassName << "\"";
           out << ">\n";
   
           _qualifiers.toXml(out);
   
           out << "</PARAMETER.REFERENCE>\n";
       }
     else     else
     {     {
         out << "<PARAMETER";         out << "<PARAMETER";
   
         out << " NAME=\"" << _name << "\" ";         out << " NAME=\"" << _name << "\" ";
   
         out << " TYPE=\"" << TypeToString(_type) << "\"";         out << " TYPE=\"" << TypeToString(_type) << "\"";
   
         out << ">\n";         out << ">\n";
  
         _qualifiers.toXml(out);         _qualifiers.toXml(out);
Line 157 
Line 154 
     }     }
 } }
  
 void CIMParameterRep::print() const  /** toMof - puts the Mof representation of teh Parameter object to
       the output parameter array
       The BNF for this conversion is:
       parameterList    =  parameter *( "," parameter )
   
           parameter    =  [ qualifierList ] (dataType|objectRef) parameterName
                                   [ array ]
   
           parameterName=  IDENTIFIER
   
           array        =  "[" [positiveDecimalValue] "]"
   
       Format on a single line.
       */
   void CIMParameterRep::toMof(Array<Sint8>& out) const
   {
       // Output the qualifiers for the parameter
       _qualifiers.toMof(out);
   
       if (_qualifiers.getCount())
           out << " ";
   
       // Output the data type and name
       out << TypeToString(_type) << " " <<  _name;
   
       if (_isArray)
       {
           //Output the array indicator "[ [arraysize] ]"
           if (_arraySize)
           {
               char buffer[32];
               sprintf(buffer, "[%d]", _arraySize);
               out << buffer;
           }
           else
               out << "[]";
       }
   }
   
   
   void CIMParameterRep::print(PEGASUS_STD(ostream) &os) const
 { {
     Array<Sint8> tmp;     Array<Sint8> tmp;
     toXml(tmp);     toXml(tmp);
     tmp.append('\0');     tmp.append('\0');
     std::cout << tmp.getData() << std::endl;      os << tmp.getData() << PEGASUS_STD(endl);
 } }
  
 Boolean CIMParameterRep::identical(const CIMParameterRep* x) const Boolean CIMParameterRep::identical(const CIMParameterRep* x) const
Line 207 
Line 244 
 { {
     _type = type;     _type = type;
  
     if (_referenceClassName.getLength() == 0 && _type == CIMType::REFERENCE)      if (_referenceClassName.size() == 0 && _type == CIMType::REFERENCE)
     {     {
         throw MissingReferenceClassName();         throw MissingReferenceClassName();
     }     }


Legend:
Removed from v.1.1  
changed lines
  Added in v.1.13

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2