(file) Return to compilerDeclContext.h CVS log (file) (dir) Up to [Pegasus] / pegasus / src / Pegasus / Compiler

  1 karl  1.15 //%2006////////////////////////////////////////////////////////////////////////
  2 mike  1.2  //
  3 karl  1.13 // Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development
  4            // Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems.
  5            // Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.;
  6 karl  1.10 // IBM Corp.; EMC Corporation, The Open Group.
  7 karl  1.13 // Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;
  8            // IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.
  9 karl  1.14 // Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;
 10            // EMC Corporation; VERITAS Software Corporation; The Open Group.
 11 karl  1.15 // Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.;
 12            // EMC Corporation; Symantec Corporation; The Open Group.
 13 mike  1.2  //
 14 kumpf 1.5  // Permission is hereby granted, free of charge, to any person obtaining a copy
 15            // of this software and associated documentation files (the "Software"), to
 16            // deal in the Software without restriction, including without limitation the
 17            // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
 18            // sell copies of the Software, and to permit persons to whom the Software is
 19            // furnished to do so, subject to the following conditions:
 20            // 
 21            // THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
 22            // ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
 23            // "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
 24            // LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
 25            // PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
 26            // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
 27            // ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
 28            // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 29 mike  1.2  //
 30 kumpf 1.5  //==============================================================================
 31 mike  1.2  //
 32            // Author: Mike Brasher (mbrasher@bmc.com)
 33            //
 34 kumpf 1.7  // Modified By: Carol Ann Krug Graves, Hewlett-Packard Company
 35            //                (carolann_graves@hp.com)
 36 gerarda 1.9  //              Gerarda Marquez (gmarquez@us.ibm.com)
 37              //              -- PEP 43 changes
 38 kumpf   1.12 //              Terry Martin, Hewlett-Packard Company (terry.martin@hp.com)
 39 mike    1.2  //
 40 bob     1.3  //%////////////////////////////////////////////////////////////////////////////
 41 mike    1.2  
 42              #ifndef PegasusCompiler_Compiler_Decl_Context_h
 43              #define PegasusCompiler_Compiler_Decl_Context_h
 44              
 45 bob     1.3  ///////////////////////////////////////////////////////////////////////////////
 46 mike    1.2  //
 47              // compilerDeclContext
 48              //
 49              //	This context is used by the resolve() methods to lookup dependent
 50              //	objects during resolution.  This subclass takes into account
 51              //      environments where some or all of the objects which need
 52              //      to exist are not in the repository, but rather have been
 53              //      explicitly provided.
 54              //
 55              //////////////////////////////////////////////////////////////////////////////
 56              
 57              #include <Pegasus/Common/Config.h>
 58 kumpf   1.8  #include <Pegasus/Common/ArrayInternal.h>
 59 mike    1.2  #include <Pegasus/Repository/RepositoryDeclContext.h>
 60 bob     1.4  #include <Pegasus/Repository/CIMRepository.h>
 61 kumpf   1.12 #include <Pegasus/Compiler/compilerCommonDefs.h>
 62 kumpf   1.6  #include <Pegasus/Compiler/Linkage.h>
 63 mike    1.2  
 64 kumpf   1.11 PEGASUS_NAMESPACE_BEGIN
 65 bob     1.3  
 66              class PEGASUS_COMPILER_LINKAGE compilerDeclContext :
 67              public RepositoryDeclContext {
 68 mike    1.2   public:
 69 bob     1.3    compilerDeclContext(CIMRepository *repository,
 70              			      compilerCommonDefs::operationType ot);
 71 mike    1.2  
 72                virtual ~compilerDeclContext();
 73              
 74 bob     1.3    virtual
 75 kumpf   1.7      CIMQualifierDecl lookupQualifierDecl (const CIMNamespaceName &nameSpace,
 76              					  const CIMName &qualifierName) const;
 77 mike    1.2    virtual
 78 kumpf   1.7      CIMClass         lookupClass        (const CIMNamespaceName &nameSpace,
 79              					 const CIMName &className) const;
 80 mike    1.2  
 81 kumpf   1.7    void               addQualifierDecl   (const CIMNamespaceName &nameSpace,
 82 mike    1.2  					 const CIMQualifierDecl& x);
 83              
 84 kumpf   1.7    void               addClass           (const CIMNamespaceName &nameSpace,
 85 mike    1.2  					 CIMClass &x);
 86 bob     1.3  
 87 kumpf   1.7    void               addInstance        (const CIMNamespaceName &nameSpace,
 88 bob     1.3  					 CIMInstance &x);
 89 gerarda 1.9  
 90                void               modifyClass           (const CIMNamespaceName &nameSpace,
 91              					 CIMClass &x);
 92              
 93 mike    1.2   private:
 94 bob     1.3    CIMRepository *_cimRepository;
 95                compilerCommonDefs::operationType _ot;
 96 mike    1.2    Array<CIMClass>         _classes;
 97                Array<CIMQualifierDecl> _qualifiers;
 98                Array<CIMInstance>      _instances;
 99 kumpf   1.7    const CIMClass *_findClassInMemory(const CIMName &classname) const;
100                const CIMQualifierDecl *_findQualifierInMemory(const CIMName &name) const;
101 mike    1.2  };
102 kumpf   1.11 
103              PEGASUS_NAMESPACE_END
104 mike    1.2  
105 kumpf   1.12 #endif // PegasusCompiler_Compiler_Decl_Context_h
106              

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2