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

Diff for /pegasus/src/Pegasus/Common/DeclContext.cpp between version 1.1 and 1.9

version 1.1, 2001/01/14 19:51:13 version 1.9, 2001/07/10 22:31:12
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/01/14 19:51:13  mike  
 // Initial revision  
 // //
 //  //%/////////////////////////////////////////////////////////////////////////////
 //END_HISTORY  
  
 #include "DeclContext.h" #include "DeclContext.h"
 #include "Name.h"  #include "CIMName.h"
  
 PEGASUS_NAMESPACE_BEGIN PEGASUS_NAMESPACE_BEGIN
  
   #define PEGASUS_ARRAY_T QPair
   # include "ArrayImpl.h"
   #undef PEGASUS_ARRAY_T
   
   #define PEGASUS_ARRAY_T CPair
   # include "ArrayImpl.h"
   #undef PEGASUS_ARRAY_T
   
 DeclContext::~DeclContext() DeclContext::~DeclContext()
 { {
  
Line 46 
Line 51 
  
 void SimpleDeclContext::addQualifierDecl( void SimpleDeclContext::addQualifierDecl(
     const String& nameSpace,     const String& nameSpace,
     const QualifierDecl& x)      const CIMQualifierDecl& x)
 { {
     if (lookupQualifierDecl(nameSpace, x.getName()))     if (lookupQualifierDecl(nameSpace, x.getName()))
         throw AlreadyExists();         throw AlreadyExists();
Line 54 
Line 59 
     _qualifierDeclarations.append(QPair(nameSpace, x));     _qualifierDeclarations.append(QPair(nameSpace, x));
 } }
  
 void SimpleDeclContext::addClassDecl(  void SimpleDeclContext::addClass(
     const String& nameSpace,     const String& nameSpace,
     const ClassDecl& x)      const CIMClass& x)
 { {
     if (lookupClassDecl(nameSpace, x.getClassName()))      if (lookupClass(nameSpace, x.getClassName()))
         throw AlreadyExists();         throw AlreadyExists();
  
     _classDeclarations.append(CPair(nameSpace, x));     _classDeclarations.append(CPair(nameSpace, x));
 } }
  
 QualifierDecl SimpleDeclContext::lookupQualifierDecl(  CIMQualifierDecl SimpleDeclContext::lookupQualifierDecl(
     const String& nameSpace,     const String& nameSpace,
     const String& name) const     const String& name) const
 { {
     for (Uint32 i = 0, n = _qualifierDeclarations.getSize(); i < n; i++)      for (Uint32 i = 0, n = _qualifierDeclarations.size(); i < n; i++)
     {     {
         const String& first = _qualifierDeclarations[i].first;         const String& first = _qualifierDeclarations[i].first;
         const QualifierDecl& second = _qualifierDeclarations[i].second;          const CIMQualifierDecl& second = _qualifierDeclarations[i].second;
  
         if (Name::equal(first, nameSpace) &&          if (CIMName::equal(first, nameSpace) &&
             Name::equal(second.getName(), name))              CIMName::equal(second.getName(), name))
         {         {
             return second;             return second;
         }         }
     }     }
  
     // Not found:     // Not found:
     return QualifierDecl();      return CIMQualifierDecl();
 } }
  
 ClassDecl SimpleDeclContext::lookupClassDecl(  CIMClass SimpleDeclContext::lookupClass(
     const String& nameSpace,     const String& nameSpace,
     const String& name) const     const String& name) const
 { {
     for (Uint32 i = 0, n = _classDeclarations.getSize(); i < n; i++)      for (Uint32 i = 0, n = _classDeclarations.size(); i < n; i++)
     {     {
         const String& first = _classDeclarations[i].first;         const String& first = _classDeclarations[i].first;
         const ClassDecl& second = _classDeclarations[i].second;          const CIMClass& second = _classDeclarations[i].second;
  
         if (Name::equal(first, nameSpace) &&          if (CIMName::equal(first, nameSpace) &&
             Name::equal(second.getClassName(), name))              CIMName::equal(second.getClassName(), name))
         {         {
             return second;             return second;
         }         }
     }     }
  
     // Not found:     // Not found:
     return ClassDecl();      return CIMClass();
 } }
  
 PEGASUS_NAMESPACE_END PEGASUS_NAMESPACE_END


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

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2