(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.27

version 1.1, 2001/01/14 19:51:13 version 1.27, 2008/12/02 09:00:46
Line 1 
Line 1 
 //BEGIN_LICENSE  //%LICENSE////////////////////////////////////////////////////////////////
 // //
 // Copyright (c) 2000 The Open Group, BMC Software, Tivoli Systems, IBM  // Licensed to The Open Group (TOG) under one or more contributor license
   // agreements.  Refer to the OpenPegasusNOTICE.txt file distributed with
   // this work for additional information regarding copyright ownership.
   // Each contributor licenses this file to you under the OpenPegasus Open
   // Source License; you may not use this file except in compliance with the
   // License.
 // //
 // 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 of this software and associated documentation files (the "Software"), // copy of this software and associated documentation files (the "Software"),
Line 9 
Line 14 
 // and/or sell copies of the Software, and to permit persons to whom the // and/or sell copies of the Software, and to permit persons to whom the
 // Software is furnished to do so, subject to the following conditions: // Software is 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
 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,  // in all copies or substantial portions of the Software.
 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL  
 // THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER  
 // LIABILITY, WHETHER IN AN 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  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
 //BEGIN_HISTORY  // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
   // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
   // IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
   // CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN 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.
 // //
 // Author:  //////////////////////////////////////////////////////////////////////////
 // //
 // $Log$  //%/////////////////////////////////////////////////////////////////////////////
 // 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"
   #include <Pegasus/Common/MessageLoader.h>
  
 PEGASUS_NAMESPACE_BEGIN PEGASUS_NAMESPACE_BEGIN
  
Line 45 
Line 46 
 } }
  
 void SimpleDeclContext::addQualifierDecl( void SimpleDeclContext::addQualifierDecl(
     const String& nameSpace,      const CIMNamespaceName& nameSpace,
     const QualifierDecl& x)      const CIMQualifierDecl& x)
   {
       if (!lookupQualifierDecl(nameSpace, x.getName()).isUninitialized())
 { {
     if (lookupQualifierDecl(nameSpace, x.getName()))          MessageLoaderParms parms(
         throw AlreadyExists();              "Common.DeclContext.DECLARATION_OF_QUALIFIER",
               "declaration of qualifier \"$0\"",
               x.getName().getString());
           throw AlreadyExistsException(parms);
       }
  
     _qualifierDeclarations.append(QPair(nameSpace, x));     _qualifierDeclarations.append(QPair(nameSpace, x));
 } }
  
 void SimpleDeclContext::addClassDecl(  void SimpleDeclContext::addClass(
     const String& nameSpace,      const CIMNamespaceName& nameSpace,
     const ClassDecl& x)      const CIMClass& x)
 {  {
     if (lookupClassDecl(nameSpace, x.getClassName()))      if (!lookupClass(nameSpace, x.getClassName()).isUninitialized())
         throw AlreadyExists();      {
           MessageLoaderParms parms(
               "Common.DeclContext.CLASS",
               "class \"$0\"",
               x.getClassName().getString());
           throw AlreadyExistsException(parms);
       }
  
     _classDeclarations.append(CPair(nameSpace, x));     _classDeclarations.append(CPair(nameSpace, x));
 } }
  
 QualifierDecl SimpleDeclContext::lookupQualifierDecl(  CIMQualifierDecl SimpleDeclContext::lookupQualifierDecl(
     const String& nameSpace,      const CIMNamespaceName& nameSpace,
     const String& name) const      const CIMName& 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 CIMNamespaceName& first = _qualifierDeclarations[i].first;
         const QualifierDecl& second = _qualifierDeclarations[i].second;          const CIMQualifierDecl& second = _qualifierDeclarations[i].second;
  
         if (Name::equal(first, nameSpace) &&          if (first.equal(nameSpace) &&
             Name::equal(second.getName(), name))              second.getName().equal(name))
         {         {
             return second;             return second;
         }         }
     }     }
  
     // Not found:     // Not found:
     return QualifierDecl();      return CIMQualifierDecl();
 } }
  
 ClassDecl SimpleDeclContext::lookupClassDecl(  CIMClass SimpleDeclContext::lookupClass(
     const String& nameSpace,      const CIMNamespaceName& nameSpace,
     const String& name) const      const CIMName& 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 CIMNamespaceName& first = _classDeclarations[i].first;
         const ClassDecl& second = _classDeclarations[i].second;          const CIMClass& second = _classDeclarations[i].second;
  
         if (Name::equal(first, nameSpace) &&          if (first.equal(nameSpace) &&
             Name::equal(second.getClassName(), name))              second.getClassName().equal(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.27

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2