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

  1 chuck 1.1.2.12 //%2003////////////////////////////////////////////////////////////////////////
  2 david 1.1.2.3  //
  3 chuck 1.1.2.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 david 1.1.2.3  // IBM Corp.; EMC Corporation, The Open Group.
  7                //
  8                // 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                //
 24                //==============================================================================
 25                //
 26                // Author: Dave Rosckes (rosckes@us.ibm.com)
 27 david 1.1.2.3  //
 28                // Modified By:
 29                //
 30                //%/////////////////////////////////////////////////////////////////////////////
 31 humberto 1.1.2.1  
 32 chuck    1.1.2.13 #ifndef CQLFACTOR_H_HEADER
 33                   #define CQLFACTOR_H_HEADER
 34                   
 35 humberto 1.1.2.1  #include <Pegasus/Common/Config.h>
 36 humberto 1.1.2.6  #include <Pegasus/Common/CIMInstance.h>
 37                   //#include <Pegasus/CQL/CQLScope.h>
 38 david    1.1.2.14 #include <Pegasus/CQL/CQLChainedIdentifier.h>
 39 humberto 1.1.2.1  #include <Pegasus/CQL/Linkage.h>
 40                   
 41 humberto 1.1.2.17 #ifdef PEGASUS_USE_EXPERIMENTAL_INTERFACES
 42                   
 43 humberto 1.1.2.1  PEGASUS_NAMESPACE_BEGIN
 44 humberto 1.1.2.5  class PEGASUS_CQL_LINKAGE CQLFactory;
 45 humberto 1.1.2.1  class PEGASUS_CQL_LINKAGE CQLExpression;
 46                   class PEGASUS_CQL_LINKAGE CQLFunction;
 47 humberto 1.1.2.6  class PEGASUS_CQL_LINKAGE CQLFactorRep;
 48                   class PEGASUS_CQL_LINKAGE CQLValue;
 49                   class PEGASUS_CQL_LINKAGE CQLScope;
 50                   class PEGASUS_CQL_LINKAGE QueryContext;
 51 humberto 1.1.2.1  
 52                   /**  The CQLFactor could contain a CQLValue, CQLExpression or CQLFunction.
 53                          This class evaluates the object to get a CQLValue.
 54                          If it contains a CQLValue, it will resolve the CQLValue. 
 55                     */
 56 david    1.1.2.3  
 57 humberto 1.1.2.1  class PEGASUS_CQL_LINKAGE CQLFactor
 58                   {
 59                     public:
 60 humberto 1.1.2.9     CQLFactor();
 61 david    1.1.2.2  
 62 humberto 1.1.2.10     CQLFactor(const CQLValue& inCQLVal);
 63 humberto 1.1.2.1  
 64 humberto 1.1.2.15     CQLFactor(const CQLExpression& inCQLExp);
 65 humberto 1.1.2.1  
 66 humberto 1.1.2.15     CQLFactor(const CQLFunction& inCQLFunc);
 67 david    1.1.2.2      CQLFactor(const CQLFactor& inCQLFact);
 68 humberto 1.1.2.1  
 69 humberto 1.1.2.7      ~CQLFactor();
 70 humberto 1.1.2.1  
 71                       /** 
 72                              The CQLFactor could contain a CQLValue, CQLExpression or CQLFunction.
 73                              This method evaluates the object to get a CQLValue.
 74                              If it contains a CQLValue, it will resolve the CQLValue by calling the
 75                       resolve method
 76                              on the CQLValue object. 
 77                       
 78                              If it contains a CQLFunction this method will invoke the getValue method
 79                       on 
 80                              CQLFunction, and the returned value will already be resolved.
 81                       
 82                              If it contains a CQLExpression this method will invoke the getValue
 83                       method on 
 84                              CQLExpression, and the returned value will already be resolved.
 85                       
 86                         */
 87 david    1.1.2.2  
 88 david    1.1.2.16    CQLValue resolveValue(const CIMInstance& CI, const QueryContext& QueryCtx);
 89 chuck    1.1.2.11 
 90 humberto 1.1.2.15    Boolean isSimple()const;
 91 chuck    1.1.2.11 
 92 humberto 1.1.2.15    Boolean isSimpleValue()const;
 93 chuck    1.1.2.11 
 94 humberto 1.1.2.15    CQLValue getValue()const;
 95 chuck    1.1.2.11 
 96 humberto 1.1.2.15    CQLFunction getCQLFunction()const;
 97 chuck    1.1.2.11 
 98 humberto 1.1.2.15    CQLExpression getCQLExpression()const;
 99 chuck    1.1.2.11 
100 humberto 1.1.2.15    String toString()const;
101 chuck    1.1.2.11 
102 david    1.1.2.14    void applyContext(QueryContext& inContext,
103                                        CQLChainedIdentifier& inCid);
104 chuck    1.1.2.11 
105 humberto 1.1.2.9     CQLFactor& operator=(const CQLFactor& rhs);
106 chuck    1.1.2.11 
107 humberto 1.1.2.15    Boolean operator==(const CQLFactor& factor)const;
108 chuck    1.1.2.11 
109 humberto 1.1.2.15    Boolean operator!=(const CQLFactor& factor)const;
110 humberto 1.1.2.1  
111 humberto 1.1.2.5     friend class CQLFactory;
112 humberto 1.1.2.1    private:
113 david    1.1.2.2  
114 humberto 1.1.2.6      CQLFactorRep *_rep;
115 humberto 1.1.2.1  };
116                   
117                   #ifndef PEGASUS_ARRAY_T
118                   #define PEGASUS_ARRAY_T CQLFactor
119                   #include <Pegasus/Common/ArrayInter.h>
120                   #undef PEGASUS_ARRAY_T
121                   #endif
122                   
123                   PEGASUS_NAMESPACE_END
124 humberto 1.1.2.17 #endif
125 david    1.1.2.3  #endif /* CQLFACTOR_H_HEADER */

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2