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

  1 karl  1.5 //%2005////////////////////////////////////////////////////////////////////////
  2 chuck 1.2 //
  3 karl  1.5 // 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 chuck 1.2 // IBM Corp.; EMC Corporation, The Open Group.
  7 karl  1.5 // Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;
  8           // IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.
  9           // Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;
 10           // EMC Corporation; VERITAS Software Corporation; The Open Group.
 11 chuck 1.2 //
 12           // 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           //
 28           //==============================================================================
 29           //
 30           // Authors: David Rosckes (rosckes@us.ibm.com)
 31           //          Bert Rivero (hurivero@us.ibm.com)
 32 chuck 1.2 //          Chuck Carmack (carmack@us.ibm.com)
 33           //          Brian Lucier (lucier@us.ibm.com) 
 34           //
 35           // Modified By:
 36           //
 37           //%/////////////////////////////////////////////////////////////////////////////
 38           
 39           #include <Pegasus/CQL/CQLTerm.h>  
 40           #include <Pegasus/CQL/CQLTermRep.h>
 41           #include <Pegasus/CQL/CQLFactory.h>
 42           #include <Pegasus/Query/QueryCommon/QueryContext.h>
 43           PEGASUS_NAMESPACE_BEGIN
 44           
 45           /*
 46           #define PEGASUS_ARRAY_T FactorOpType
 47           #include <Pegasus/Common/ArrayImpl.h>
 48           #undef PEGASUS_ARRAY_T
 49           
 50           #define PEGASUS_ARRAY_T CQLTerm
 51           #include <Pegasus/Common/ArrayImpl.h>
 52           #undef PEGASUS_ARRAY_T
 53 chuck 1.2 */
 54           
 55           
 56           CQLTerm::CQLTerm()
 57           {
 58             _rep = new CQLTermRep();
 59           }
 60           
 61           CQLTerm::CQLTerm(const CQLTerm& inTerm)
 62           {
 63             _rep = new CQLTermRep(*inTerm._rep);
 64           }
 65           
 66           CQLTerm::CQLTerm(const CQLFactor& theFactor)
 67           {
 68             _rep = new CQLTermRep(theFactor);
 69           }
 70           
 71           CQLTerm::~CQLTerm()
 72           {
 73             if(_rep)
 74 chuck 1.2     delete _rep;
 75           }
 76           
 77           CQLValue CQLTerm::resolveValue(const CIMInstance& CI, const QueryContext& QueryCtx)
 78           {
 79             return _rep->resolveValue(CI,QueryCtx);
 80           }
 81           
 82           void CQLTerm::appendOperation(FactorOpType inFactorOpType, CQLFactor inFactor)
 83           {
 84             _rep->appendOperation(inFactorOpType,inFactor);
 85           }
 86           
 87           String CQLTerm::toString()const
 88           {
 89             return _rep->toString();
 90           }
 91           
 92           Boolean CQLTerm::isSimple()const
 93           {
 94             return _rep->isSimple();
 95 chuck 1.2 }
 96           
 97           Boolean CQLTerm::isSimpleValue()const
 98           {
 99             return _rep->isSimpleValue();
100           }
101           
102           Array<CQLFactor> CQLTerm::getFactors()const
103           {
104             return _rep->getFactors();
105           }
106           
107           Array<FactorOpType> CQLTerm::getOperators()const
108           {
109             return _rep->getOperators();
110           }
111           
112           void CQLTerm::applyContext(QueryContext& inContext,
113                                      CQLChainedIdentifier& inCid)
114           {
115             _rep->applyContext(inContext,inCid);
116 chuck 1.2 }
117           
118           CQLTerm& CQLTerm::operator=(const CQLTerm& rhs)
119           {
120             if(&rhs != this){
121               if(_rep) delete _rep;
122               _rep = new CQLTermRep(*rhs._rep);
123             }
124             return *this;
125           }
126 humberto 1.4 /*
127 chuck    1.2 Boolean CQLTerm::operator==(const CQLTerm& rhs)const
128              {
129 humberto 1.3   return (*_rep == *(rhs._rep));
130 chuck    1.2 }
131              Boolean CQLTerm::operator!=(const CQLTerm& rhs)const
132              {
133                return (!operator==(rhs));                                                                                
134              }
135 humberto 1.4 */
136 chuck    1.2 PEGASUS_NAMESPACE_END

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2