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

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

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2