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

📄 cimclass.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.////==============================================================================////%/////////////////////////////////////////////////////////////////////////////#ifndef Pegasus_CIMClass_h#define Pegasus_CIMClass_h#include <Pegasus/Common/Config.h>#include <Pegasus/Common/Linkage.h>#include <Pegasus/Common/CIMName.h>#include <Pegasus/Common/CIMObject.h>#include <Pegasus/Common/CIMMethod.h>#include <Pegasus/Common/CIMInstance.h>#include <Pegasus/Common/CIMPropertyList.h>PEGASUS_NAMESPACE_BEGINclass CIMConstClass;class CIMClassRep;class Resolver;/**    The CIMClass class represents the DMTF standard CIM class definition.    <p>The CIMClass class uses a shared representation model, such that    multiple CIMClass objects may refer to the same data copy.  Assignment    and copy operators create new references to the same data, not distinct    copies.  An update to a CIMClass object affects all the CIMClass    objects that refer to the same data copy.  The data remains valid until    all the CIMClass objects that refer to it are destructed.  A separate    copy of the data may be created using the clone method.*/class PEGASUS_COMMON_LINKAGE CIMClass{public:    /**        Constructs an uninitialized CIMClass object.  A method        invocation on an uninitialized object will result in the throwing        of an UninitializedObjectException.  An uninitialized object may        be converted into an initialized object only by using the assignment        operator with an initialized object.    */    CIMClass();    /**        Constructs a CIMClass object from the value of a specified        CIMClass object, so that both objects refer to the same data copy.        @param x The CIMClass object from which to construct a new            CIMClass object.    */    CIMClass(const CIMClass& x);    /**        Constructs a CIMClass object from the value of a specified        CIMObject object, so that both objects refer to the same data copy.        @param x The CIMObject object from which to construct the            CIMClass object.        @exception DynamicCastFailedException If a CIMClass can not be            created from the given CIMObject.    */    PEGASUS_EXPLICIT CIMClass(const CIMObject& x);    /**        Constructs a CIMClass object with the specified attributes.        <p><b>Example:</b>        <pre>            CIMClass NewClass("MyClass", "YourClass");        </pre>        @param className A CIMName specifying the name of the class.        @param superClassName A CIMName specifying name of the parent class.            (A null value indicates no superclass.)    */    CIMClass(        const CIMName& className,        const CIMName& superClassName = CIMName());    /**        Assigns the value of the specified CIMClass object to this object,        so that both objects refer to the same data copy.        @param x The CIMClass object from which to assign this CIMClass            object.        @return A reference to this CIMClass object.    */    CIMClass& operator=(const CIMClass& x);    /**        Destructs the CIMClass object.    */    ~CIMClass();    /**        Indicates whether this class is an association class.  An         association is a relationship between two (or more) classes or         instances.  The Association qualifier is used to make this        determination.        @return True if this class is an association class, false otherwise.        @exception UninitializedObjectException If the object is not            initialized.    */    Boolean isAssociation() const;    /**        Indicates whether this class is an abstract class.        The Abstract qualifier is used to make this determination.        @return True if this class is an abstract class, false otherwise.        @exception UninitializedObjectException If the object is not            initialized.    */    Boolean isAbstract() const;    /**        Gets the name of the class.        @return A CIMName containing the class name.        @exception UninitializedObjectException If the object is not            initialized.    */    const CIMName& getClassName() const;            /**        Gets the object path for the class.        @return A CIMObjectPath containing the object path.        @exception UninitializedObjectException If the object is not            initialized.    */    const CIMObjectPath& getPath() const;    /**        Sets the object path for the class.        @param path A CIMObjectPath containing the object path.        @exception UninitializedObjectException If the object is not            initialized.    */    void setPath (const CIMObjectPath & path);    /**        Gets the name of the parent class of this class.        @return A CIMName containing parent class name.        @exception UninitializedObjectException If the object is not            initialized.    */    const CIMName& getSuperClassName() const;    /**        Sets the name of the parent class.        @param superClassName A CIMName specifying the parent class name.        @exception UninitializedObjectException If the object is not            initialized.    */    void setSuperClassName(const CIMName& superClassName);    /**        Adds a qualifier to the class.        @param qualifier The CIMQualifier to be added.        @return A reference to this CIMClass object.        @exception AlreadyExistsException If a qualifier with the            same name already exists in the CIMClass.        @exception UninitializedObjectException If the object is not            initialized.    */    CIMClass& addQualifier(const CIMQualifier& qualifier);    /**        Finds a qualifier by name.        @param name A CIMName specifying the name of the qualifier to be found.        @return Index of the qualifier if found or PEG_NOT_FOUND if not found.        @exception UninitializedObjectException If the object is not            initialized.    */    Uint32 findQualifier(const CIMName& name) const;    /**        Gets the qualifier at the specified index.        @param index The index of the qualifier to be retrieved.        @return The CIMQualifier at the specified index.        @exception IndexOutOfBoundsException If the index is outside            the range of qualifiers available for the CIMClass.        @exception UninitializedObjectException If the object is not            initialized.    */    CIMQualifier getQualifier(Uint32 index);    /**        Gets the qualifier at the specified index.        @param index The index of the qualifier to be retrieved.        @return The CIMConstQualifier at the specified index.        @exception IndexOutOfBoundsException If the index is outside            the range of qualifiers available for the CIMClass.        @exception UninitializedObjectException If the object is not            initialized.    */    CIMConstQualifier getQualifier(Uint32 index) const;    /**        Removes a qualifier from the class.        @param index The index of the qualifier to remove.        @exception IndexOutOfBoundsException If the index is            outside the range of qualifiers available for the CIMClass.        @exception UninitializedObjectException If the object is not            initialized.    */    void removeQualifier(Uint32 index);    /**        Gets the number of qualifiers in the class.        @return An integer count of the qualifiers in the CIMClass.        @exception UninitializedObjectException If the object is not            initialized.    */    Uint32 getQualifierCount() const;    /**        Adds a property to the class.        @param x The CIMProperty to be added.        @return A reference to this CIMClass object.        @exception AlreadyExistsException If a property with the            same name already exists in the CIMClass.        @exception UninitializedObjectException If the object is not            initialized.    */    CIMClass& addProperty(const CIMProperty& x);    /**        Finds a property by name.        @param name A CIMName specifying the name of the property to be found.        @return Index of the property if found or PEG_NOT_FOUND if not found.        @exception UninitializedObjectException If the object is not            initialized.    */    Uint32 findProperty(const CIMName& name) const;    /**        Gets the property at the specified index.        @param index The index of the property to be retrieved.        @return The CIMProperty at the specified index.        @exception IndexOutOfBoundsException If the index is outside            the range of properties available for the CIMClass.        @exception UninitializedObjectException If the object is not            initialized.    */    CIMProperty getProperty(Uint32 index);    /**        Gets the property at the specified index.        @param index The index of the property to be retrieved.        @return The CIMConstProperty at the specified index.        @exception IndexOutOfBoundsException If the index is outside            the range of properties available for the CIMClass.        @exception UninitializedObjectException If the object is not            initialized.    */    CIMConstProperty getProperty(Uint32 index) const;    /**        Removes a property from the class.        @param index The index of the property to remove.        @exception IndexOutOfBoundsException If the index is            outside the range of properties available for the CIMClass.        @exception UninitializedObjectException If the object is not            initialized.    */    void removeProperty(Uint32 index);    /**        Gets the number of properties in the class.        @return An integer count of the properties in the CIMClass.        @exception UninitializedObjectException If the object is not            initialized.    */    Uint32 getPropertyCount() const;    /**        Adds a method to the class.        @param x The CIMMethod to be added.        @return A reference to this CIMClass object.        @exception AlreadyExistsException If a method with the            same name already exists in the CIMClass.        @exception UninitializedObjectException If the object is not            initialized.    */    CIMClass& addMethod(const CIMMethod& x);    /**        Finds a method by name.        @param name A CIMName specifying the name of the method to be found.        @return Index of the method if found or PEG_NOT_FOUND if not found.        @exception UninitializedObjectException If the object is not            initialized.    */    Uint32 findMethod(const CIMName& name) const;    /**        Gets the method at the specified index.        @param index The index of the method to be retrieved.        @return The CIMMethod at the specified index.        @exception IndexOutOfBoundsException If the index is outside            the range of methods available for the CIMClass.        @exception UninitializedObjectException If the object is not            initialized.    */    CIMMethod getMethod(Uint32 index);    /**        Gets the method at the specified index.        @param index The index of the method to be retrieved.        @return The CIMConstMethod at the specified index.        @exception IndexOutOfBoundsException If the index is outside            the range of methods available for the CIMClass.        @exception UninitializedObjectException If the object is not            initialized.    */    CIMConstMethod getMethod(Uint32 index) const;    /**        Removes a method from the class.        @param index The index of the method to remove.        @exception IndexOutOfBoundsException If the index is            outside the range of methods available for the CIMClass.        @exception UninitializedObjectException If the object is not            initialized.    */    void removeMethod(Uint32 index);    /**        Gets the number of methods in the class.        @return An integer count of the methods in the CIMClass.        @exception UninitializedObjectException If the object is not            initialized.    */    Uint32 getMethodCount() const;    /**        Gets the list of key properties in this class.  The Key qualifier        on CIMProperty objects is used to locate key properties.        @return An Array of CIMName objects containing the names of the key        properties.        @exception UninitializedObjectException If the object is not            initialized.    */    void getKeyNames(Array<CIMName>& keyNames) const;    /**        Indicates whether this class contains key properties.  The Key        qualifier on CIMProperty objects is used to make this determination.        @return True if this class contains key properties, false otherwise.        @exception UninitializedObjectException If the object is not            initialized.    */    Boolean hasKeys() const;    /**

⌨️ 快捷键说明

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