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

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

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2