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

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

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2