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

  1 martin 1.12 //%LICENSE////////////////////////////////////////////////////////////////
  2 martin 1.13 //
  3 martin 1.12 // Licensed to The Open Group (TOG) under one or more contributor license
  4             // agreements.  Refer to the OpenPegasusNOTICE.txt file distributed with
  5             // this work for additional information regarding copyright ownership.
  6             // Each contributor licenses this file to you under the OpenPegasus Open
  7             // Source License; you may not use this file except in compliance with the
  8             // License.
  9 martin 1.13 //
 10 martin 1.12 // Permission is hereby granted, free of charge, to any person obtaining a
 11             // copy of this software and associated documentation files (the "Software"),
 12             // to deal in the Software without restriction, including without limitation
 13             // the rights to use, copy, modify, merge, publish, distribute, sublicense,
 14             // and/or sell copies of the Software, and to permit persons to whom the
 15             // Software is furnished to do so, subject to the following conditions:
 16 martin 1.13 //
 17 martin 1.12 // The above copyright notice and this permission notice shall be included
 18             // in all copies or substantial portions of the Software.
 19 martin 1.13 //
 20 martin 1.12 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
 21 martin 1.13 // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 22 martin 1.12 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
 23             // IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
 24             // CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
 25             // TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
 26             // SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 27 martin 1.13 //
 28 martin 1.12 //////////////////////////////////////////////////////////////////////////
 29 humberto 1.1  //
 30               // Author: Dave Rosckes (rosckes@us.ibm.com)
 31               //
 32 david.dillard 1.8  // Modified By: David Dillard, VERITAS Software Corp.
 33                    //                  (david.dillard@veritas.com)
 34 vijay.eli     1.9  //              Vijay Eli, IBM (vijayeli@in.ibm.com) bug#3590
 35 humberto      1.1  //
 36                    //%/////////////////////////////////////////////////////////////////////////////
 37                    
 38 chuck         1.4  #ifndef Pegasus_CQLFactorRep_h
 39                    #define Pegasus_CQLFactorRep_h
 40                    
 41 humberto      1.1  #include <Pegasus/CQL/Linkage.h>
 42                    #include <Pegasus/Common/CIMInstance.h>
 43                    #include <Pegasus/CQL/CQLExpression.h>
 44                    #include <Pegasus/CQL/CQLFunction.h>
 45                    
 46                    PEGASUS_NAMESPACE_BEGIN
 47 mike          1.11 class CQLFactory;
 48                    class CQLValue;
 49                    class QueryContext;
 50 humberto      1.1  
 51 mike          1.11 class CQLFactorRep
 52 humberto      1.1  {
 53 chuck         1.4   public:
 54 humberto      1.1  
 55 humberto      1.6    CQLFactorRep();
 56 david.dillard 1.8  
 57 chuck         1.4    CQLFactorRep(const CQLValue& inCQLVal);
 58 david.dillard 1.8  
 59 chuck         1.4    CQLFactorRep(const CQLExpression& inCQLExp);
 60 david.dillard 1.8  
 61 chuck         1.4    CQLFactorRep(const CQLFunction& inCQLFunc);
 62                    
 63                      CQLFactorRep(const CQLFactorRep* rep);
 64 david.dillard 1.8  
 65 chuck         1.4    ~CQLFactorRep(){}
 66 david.dillard 1.8  
 67 chuck         1.4    CQLValue resolveValue(const CIMInstance& CI, const QueryContext& QueryCtx);
 68 david.dillard 1.8  
 69 chuck         1.4    Boolean isSimple()const;
 70 david.dillard 1.8  
 71 chuck         1.4    Boolean isSimpleValue()const;
 72 david.dillard 1.8  
 73 chuck         1.4    CQLValue getValue()const;
 74 david.dillard 1.8  
 75 chuck         1.4    CQLFunction getCQLFunction()const;
 76 david.dillard 1.8  
 77 chuck         1.4    CQLExpression getCQLExpression()const;
 78 david.dillard 1.8  
 79 chuck         1.4    String toString()const;
 80 david.dillard 1.8  
 81 vijay.eli     1.9    void applyContext(const QueryContext& inContext,
 82                                const CQLChainedIdentifier& inCid);
 83 david.dillard 1.8  /*
 84 chuck         1.4    Boolean operator==(const CQLFactorRep& rep)const;
 85 david.dillard 1.8  
 86 chuck         1.4    Boolean operator!=(const CQLFactorRep& rep)const;
 87 humberto      1.5    */
 88 chuck         1.4    friend class CQLFactory;
 89 david.dillard 1.8  
 90 chuck         1.4   private:
 91 david.dillard 1.8  
 92 chuck         1.4    enum ContainedObjectType {EXPRESSION, FUNCTION, VALUE};
 93 david.dillard 1.8  
 94 chuck         1.4    CQLExpression _CQLExp;
 95 david.dillard 1.8  
 96 chuck         1.4    CQLValue _CQLVal;
 97 david.dillard 1.8  
 98 chuck         1.4    CQLFunction _CQLFunct;
 99 david.dillard 1.8  
100 chuck         1.4    Boolean _invert;
101 david.dillard 1.8  
102 chuck         1.4    Boolean _simpleValue;
103 david.dillard 1.8  
104 chuck         1.4    ContainedObjectType _containedType;
105                    };
106 humberto      1.1  
107                    PEGASUS_NAMESPACE_END
108                    
109 chuck         1.4  #endif /* CQLFACTORREP_H_HEADER */

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2