(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.1.1 and 1.18.14.1

version 1.1.1.1, 2001/01/14 19:51:13 version 1.18.14.1, 2003/08/13 19:39:50
Line 1 
Line 1 
 //BEGIN_LICENSE  //%/////////////////////////////////////////////////////////////////////////////
 // //
 // Copyright (c) 2000 The Open Group, BMC Software, Tivoli Systems, IBM  // Copyright (c) 2000, 2001, 2002 BMC Software, Hewlett-Packard Company, IBM,
   // The Open Group, Tivoli Systems
 // //
 // 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 ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
   // ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
   // "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 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.
 // //
 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 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.  
 // //
 //END_LICENSE  // Author: Mike Brasher (mbrasher@bmc.com)
 //BEGIN_HISTORY  
 // //
 // Author:  // Modified By: Carol Ann Krug Graves, Hewlett-Packard Company
   //                (carolann_graves@hp.com)
 // //
 // $Log$  //%/////////////////////////////////////////////////////////////////////////////
 // Revision 1.1.1.1  2001/01/14 19:51:13  mike  
 // Pegasus import  
 //  
 //  
 //END_HISTORY  
  
 #include "DeclContext.h" #include "DeclContext.h"
 #include "Name.h"  #include "CIMName.h"
   #include <Pegasus/Common/MessageLoader.h> //l10n
  
 PEGASUS_NAMESPACE_BEGIN PEGASUS_NAMESPACE_BEGIN
  
Line 45 
Line 45 
 } }
  
 void SimpleDeclContext::addQualifierDecl( void SimpleDeclContext::addQualifierDecl(
     const String& nameSpace,      const CIMNamespaceName& nameSpace,
     const QualifierDecl& x)      const CIMQualifierDecl& x)
 { {
     if (lookupQualifierDecl(nameSpace, x.getName()))      if (!lookupQualifierDecl(nameSpace, x.getName()).isUninitialized()){
         throw AlreadyExists();          //l10n
                   //throw AlreadyExistsException("declaration of qualifier \"" +
                          //x.getName().getString () + "\"");
           MessageLoaderParms parms("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();          //l10n
                   //throw AlreadyExistsException
               //("class \"" + x.getClassName().getString () + "\"");
           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.1.1  
changed lines
  Added in v.1.18.14.1

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2