![]() ![]() |
![]() |
File: [Pegasus] / pegasus / src / Pegasus / CQL / CQLFunctionRep.h
(download)
Revision: 1.2.2.4, Mon Sep 27 12:55:13 2004 UTC (19 years, 9 months ago) by chuck Branch: CQL_2_5_BRANCH Changes since 1.2.2.3: +13 -1 lines PEP#: 193 TITLE: CQL stage1 implementation DESCRIPTION: applyContext API |
#ifndef Pegasus_CQLFactor_h #define Pegasus_CQLFactor_h #include <Pegasus/Common/Config.h> #include <Pegasus/CQL/CQLValue.h> #include <Pegasus/CQL/Linkage.h> #include <Pegasus/CQL/CQLScope.h> //#include <Pegasus/CQL/CQLExpression.h> #include <Pegasus/CQL/CQLPredicate.h> PEGASUS_NAMESPACE_BEGIN class PEGASUS_CQL_LINKAGE CQLFactory; //class PEGASUS_CQL_LINKAGE CQLPredicate; /* CQLFunction objects are populated by the Bison code. Supported functions are in accordance with the DMTF CQL Specification. TODO: THIS LIST IS SUBJECT TO CHANGE classname( <expr> ) classname( ) count(*) count( distinct * ) count( distinct <expr> ) something for createarray something for datetime something for hostname max( <expr> ) mean( <expr> ) median( <expr> ) min( <expr> ) something for modelpath something for namespacename something for namespacepath something for objectpath something for scheme sum( <expr> ) something for userinfo uppercase( <expr> ) */ class PEGASUS_CQL_LINKAGE CQLFunctionRep { public: CQLFunctionRep() {}; CQLFunctionRep(const CQLFunctionRep* rep); //CQLFunctionRep(FunctionOpType inFunctionOpType, Array<CQLExpression> inParms); CQLFunctionRep(CQLIdentifier inOpType, Array<CQLPredicate> inParms); ~CQLFunctionRep(); /** The getValue method validates the parms versus FunctionOpType. (A) resolves prarameter types (B) number of parms and then actually executes the function. Returns a CQLValue object that has already been resolved. */ CQLValue resolveValue(CIMInstance CI, QueryContext& queryCtx); Array<CQLPredicate> getParms(); FunctionOpType getFunctionType(); String toString(); void applyContext(QueryContext& inContext); Boolean operator==(const CQLFunctionRep& func); Boolean operator!=(const CQLFunctionRep& func); friend class CQLFactory; private: FunctionOpType _funcOpType; Array<CQLPredicate> _parms; }; PEGASUS_NAMESPACE_END #endif
No CVS admin address has been configured |
Powered by ViewCVS 0.9.2 |