⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cqlvalue.h

📁 Pegasus is an open-source implementationof the DMTF CIM and WBEM standards. It is designed to be por
💻 H
📖 第 1 页 / 共 2 页
字号:
//%2006//////////////////////////////////////////////////////////////////////////// Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development// Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems.// Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.;// IBM Corp.; EMC Corporation, The Open Group.// Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;// IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.// Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;// EMC Corporation; VERITAS Software Corporation; The Open Group.// Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.;// EMC Corporation; Symantec Corporation; The Open Group.//// Permission is hereby granted, free of charge, to any person obtaining a copy// of this software and associated documentation files (the "Software"), to// deal in the Software without restriction, including without limitation the// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or// sell copies of the Software, and to permit persons to whom the Software is// furnished to do so, subject to the following conditions:// // THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN// ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED// "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT// LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.////==============================================================================//// Author: Dave Rosckes (rosckes@us.ibm.com)//// Modified By: David Dillard, VERITAS Software Corp.//                  (david.dillard@veritas.com)//              Vijay Eli, IBM (vijayeli@in.ibm.com) bug#3590////%/////////////////////////////////////////////////////////////////////////////#ifndef PEGASUS_CQLVALUE_H#define PEGASUS_CQLVALUE_H#ifdef PEGASUS_USE_EXPERIMENTAL_INTERFACES#include <Pegasus/CQL/Linkage.h>#include <Pegasus/Common/CIMInstance.h>#include <Pegasus/Common/ArrayInternal.h>#include <Pegasus/Common/String.h>#include <Pegasus/Query/QueryCommon/QueryContext.h>#include <Pegasus/Common/CIMObjectPath.h>#include <Pegasus/CQL/CQLChainedIdentifier.h>PEGASUS_NAMESPACE_BEGINclass CQLFactory;class CQLValueRep;/** The CQLValue class encapulates a value    that is a CQL value.  The possible CQLValue    types are the following:    Sint64    Uint64    String    CIMDateTime    CIMReference    CQLIdentifier    This class can resolve an identifier to a primitive    value such as Sint64, Uint64 or String, CIMDateTime,    and CIMReference.    This class overloads and performs type checking    on the following operators:    <, >, =, >=. <=. <>    NOTE:  the CQLValue class assumes a symbolic constant    is fully qualified.*/class PEGASUS_CQL_LINKAGE CQLValue{public:  enum NumericType  { Hex, Binary,  Decimal, Real};  enum CQLValueType { Null_type, Sint64_type, Uint64_type, Real_type, String_type,              CIMDateTime_type,  CIMReference_type, CQLIdentifier_type,              CIMObject_type, Boolean_type};  /**      Contructs CQLValue default object.      @param  None.      @return None.      @throw  None.      <I><B>Experimental Interface</B></I><BR>  */  CQLValue();  /**      Destroys CQLValue object.      @param  None.      @return None.      @throw  None.      <I><B>Experimental Interface</B></I><BR>  */  ~CQLValue()  /**      Contructs CQLValue object (Copy-Constructor).      @param  None.      @return None.      @throw  None.      <I><B>Experimental Interface</B></I><BR>  */;  CQLValue(const CQLValue& val);  /**      Contructs CQLValue object given a string and a numbericType      @param  inString The string representation of a number      @param  inValueType The NumericType      @return None.      @throw  None.      <I><B>Experimental Interface</B></I><BR>  */  CQLValue(const String& inString, NumericType inValueType,       Boolean inSign = true);  /**      Contructs CQLValue object via CQLChainedIdentifier.      @param  inCQLIdent The CQLChained Identifer used to create the object      @return None.      @throw  None.      <I><B>Experimental Interface</B></I><BR>  */  CQLValue(const CQLChainedIdentifier& inCQLIdent);  /**      Initializes object as a CIMObjectPath.      @param  inObjPath CIMObjectPath used to construct object.      @return None.      @throw  None.      <I><B>Experimental Interface</B></I><BR>  */  CQLValue(const CIMObjectPath& inObjPath);  /**      Initializes object as a CIMDateTime.      @param  inDateTime Datetime used to construct object.      @return None.      @throw  None.      <I><B>Experimental Interface</B></I><BR>  */  CQLValue(const CIMDateTime& inDateTime);  /**      Initializes object as a literal string (non-numeric).      @param  inString String used to construct object.      @return None.      @throw  None.      <I><B>Experimental Interface</B></I><BR>  */  CQLValue(const String& inString);  /**      Initializes object as an Sint64.      @param  inSint Sint64 used to contruct object.      @return None.      @throw  None.      <I><B>Experimental Interface</B></I><BR>  */  CQLValue(Sint64 inSint);  /**      Initializes object as a Uint64      @param  inUint Uint64 used to construct object.      @return None.      @throw  None.      <I><B>Experimental Interface</B></I><BR>  */  CQLValue(Uint64 inUint);  /**      Initializes object as a Real64      @param  inReal Real64 used to construct object.      @return None.      @throw  None.      <I><B>Experimental Interface</B></I><BR>  */  CQLValue(Real64 inReal);  /**      Initializes object as a CIMInstance      @param  inInstance CIMInstance used to construct object.      @return None.      @throw  None.      <I><B>Experimental Interface</B></I><BR>  */  CQLValue(const CIMInstance& inInstance);  /**      Initializes object as a Boolean      @param  inBool inBool used to construct object.      @return None.      @throw  None.      <I><B>Experimental Interface</B></I><BR>  */  CQLValue(Boolean inBool);  /**      Initializes object as a inClass      @param  inClass CIMClass used to construct object.      @return None.      @throw  None.      <I><B>Experimental Interface</B></I><BR>  */  CQLValue(const CIMClass& inClass);  /**      Initializes object as a CQLValueRep      @param  rhs CQLValueRep used to construct object.      @return None.      @throw  None.      <I><B>Experimental Interface</B></I><BR>  */  CQLValue(const CQLValueRep& rhs);  /**      Initializes object as a CIMObject      @param  inObject CIMObject used to construct object.      @return None.      @throw  None.      <I><B>Experimental Interface</B></I><BR>  */  CQLValue(const CIMObject& inObject);  /**      Initializes object as a CIMValue      @param  inVal CIMValue used to construct object.      @return None.      @throw  None.      <I><B>Experimental Interface</B></I><BR>  */  CQLValue(const CIMValue& inVal);  /**  This method is used to ask an identifier to resolve itself to       a primitive value.       Resolves:       - symbolic constants       - indexing an array       - decoding identifier       * embedded object (e.g. myclass.embeddedobject.prop1)       and this is recursive       - class aliasing      @param  CI CIMInstance where information is retrieved.      @param  inQueryCtx QueryContext contains query data.      @return None.      @throw  CQLRuntimeException.      <I><B>Experimental Interface</B></I><BR>  */  void resolve(const CIMInstance& CI,const  QueryContext& inQueryCtx);  /**      Assignment operator.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -