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 */
|