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

 1 humberto 1.1 #ifndef Pegasus_CQLFactor_h
 2              #define Pegasus_CQLFactor_h
 3              
 4              #include <Pegasus/Common/Config.h>
 5              #include <Pegasus/CQL/CQLValue.h>
 6              #include <Pegasus/CQL/Linkage.h>
 7              #include <Pegasus/CQL/CQLScope.h>
 8              #include <Pegasus/CQL/CQLExpression.h>
 9              
10              
11              PEGASUS_NAMESPACE_BEGIN
12              
13              class PEGASUS_CQL_LINKAGE CQLFactory;
14              /*
15                 CQLFunction objects are populated by the
16                 Bison code.
17              
18                 Supported functions are in accordance with the
19                 DMTF CQL Specification.
20                 TODO:  THIS LIST IS SUBJECT TO CHANGE
21               
22 humberto 1.1     classname( <expr> )
23                  classname( )
24                  count(*)
25                  count( distinct * )
26                  count( distinct <expr> )
27                  something for createarray
28                  something for datetime
29                  something for hostname
30                  max( <expr> )
31                  mean( <expr> )
32                  median( <expr> )
33                  min( <expr> )
34                  something for modelpath
35                  something for namespacename
36                  something for namespacepath
37                  something for objectpath
38                  something for scheme
39                  sum( <expr> )
40                  something for userinfo
41                  uppercase( <expr> )
42              
43 humberto 1.1   */
44              
45              
46              class PEGASUS_CQL_LINKAGE CQLFunctionRep
47              {
48                public:
49                 
50              
51                  CQLFunctionRep() {};
52                 CQLFunctionRep(const CQLFunctionRep& inFunc);
53                  CQLFunctionRep(FunctionOpType inFunctionOpType, Array<CQLExpression> inParms);
54                  ~CQLFunctionRep();
55                  /** 
56                     The getValue method validates the parms versus FunctionOpType.
57                             (A) resolves prarameter  types
58                             (B) number of parms
59                      and then actually executes the function.
60                      Returns a CQLValue object that has already been resolved.
61                    */
62                  CQLValue resolveValue(CIMInstance CI, QueryContext& queryCtx);
63                 Array<CQLExpression> getParms();
64 humberto 1.1    FunctionOpType getFunctionType();
65                 String toString();
66                 void applyScopes(Array<CQLScope> inScopes);
67                 Boolean operator==(const CQLFunctionRep& func);
68                 Boolean operator!=(const CQLFunctionRep& func);
69                 friend class CQLFactory;
70              
71                private:
72              
73                 FunctionOpType _funcOpType;
74              
75                  Array<CQLExpression> _parms;
76              
77              };
78              
79              PEGASUS_NAMESPACE_END
80              
81              #endif 

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2