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

  1 chuck 1.1.2.7 //%2003////////////////////////////////////////////////////////////////////////
  2 chuck 1.1.2.6 //
  3               // Copyright (c) 2000, 2001, 2002  BMC Software, Hewlett-Packard Development
  4               // Company, L. P., IBM Corp., The Open Group, Tivoli Systems.
  5 chuck 1.1.2.8 // Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L. P.;
  6 chuck 1.1.2.6 // 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               // Authors: David Rosckes (rosckes@us.ibm.com)
 27 chuck 1.1.2.6 //          Bert Rivero (hurivero@us.ibm.com)
 28               //          Chuck Carmack (carmack@us.ibm.com)
 29               //          Brian Lucier (lucier@us.ibm.com)
 30               //
 31               // Modified By: 
 32               //
 33               //%/////////////////////////////////////////////////////////////////////////////
 34               
 35 humberto 1.1.2.1 #ifndef Pegasus_CQLExpressionRep_h
 36                  #define Pegasus_CQLExpressionRep_h
 37                  
 38                  #include <Pegasus/Common/Config.h>
 39                  #include <Pegasus/CQL/CQLValue.h>
 40                  #include <Pegasus/CQL/Linkage.h>
 41                  #include <Pegasus/CQL/CQLTerm.h>
 42                  
 43                  PEGASUS_NAMESPACE_BEGIN
 44                  
 45                  class PEGASUS_CQL_LINKAGE CQLFactory;
 46                  class PEGASUS_CQL_LINKAGE QueryContext;
 47                  
 48                  class PEGASUS_CQL_LINKAGE CQLExpressionRep
 49                  {
 50                    public:
 51 david    1.1.2.12   CQLExpressionRep(){}
 52 chuck    1.1.2.5  
 53 david    1.1.2.12   CQLExpressionRep(const CQLTerm& theTerm);
 54                     CQLExpressionRep(const CQLExpressionRep* rep);
 55 chuck    1.1.2.5  
 56 david    1.1.2.12   ~CQLExpressionRep();
 57                     
 58                     CQLValue resolveValue(const CIMInstance& CI, const QueryContext& QueryCtx);
 59                     
 60                     void appendOperation(const TermOpType theTermOpType, const CQLTerm& theTerm);
 61                     
 62                     String toString()const;
 63                     
 64                     Boolean isSimple()const;
 65                     
 66                     Boolean isSimpleValue()const;
 67                     
 68                     Array<CQLTerm> getTerms()const;
 69                     
 70                     Array<TermOpType> getOperators()const;
 71                     
 72                     void applyContext(QueryContext& inContext,
 73                   		    CQLChainedIdentifier& inCid);
 74                     
 75                     Boolean operator==(const CQLExpressionRep& rep)const;
 76                     
 77 david    1.1.2.12   Boolean operator!=(const CQLExpressionRep& rep)const;
 78                     
 79                     friend class CQLFactory;
 80                     
 81                    private:
 82                     
 83                     /**  The _TermOperators member variable is an 
 84                          array of operators that are valid to operate on Terms in a CQL
 85                          expression. 
 86                          Valid operators include concatentation, plus and minus.
 87                          
 88                          The array is ordered according to the operation from left to right.
 89                     */
 90                     Array<TermOpType> _TermOperators;
 91                     
 92                     /**  The _CQLTerms member variable is an 
 93                          array of operands that are valid in a CQL expression. 
 94                          
 95                          The array is ordered according to the operation from left to right.
 96                     */
 97                     Array<CQLTerm> _CQLTerms;
 98 david    1.1.2.12   
 99                     Boolean _isSimple;
100 humberto 1.1.2.1  };
101                   
102                   PEGASUS_NAMESPACE_END
103                   
104                   
105                   #endif /* CQLEXPRESSION_H_HEADER_INCLUDED_BEE5929F */

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2