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

Diff for /pegasus/src/Pegasus/Common/CIMQualifier.h between version 1.47.18.2 and 1.55

version 1.47.18.2, 2006/02/10 16:09:35 version 1.55, 2008/12/01 17:49:50
Line 1 
Line 1 
 //%2006////////////////////////////////////////////////////////////////////////  //%LICENSE////////////////////////////////////////////////////////////////
 // //
 // Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development  // Licensed to The Open Group (TOG) under one or more contributor license
 // Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems.  // agreements.  Refer to the OpenPegasusNOTICE.txt file distributed with
 // Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.;  // this work for additional information regarding copyright ownership.
 // IBM Corp.; EMC Corporation, The Open Group.  // Each contributor licenses this file to you under the OpenPegasus Open
 // Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;  // Source License; you may not use this file except in compliance with the
 // IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.  // License.
 // 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  // Permission is hereby granted, free of charge, to any person obtaining a
 // of this software and associated documentation files (the "Software"), to  // copy of this software and associated documentation files (the "Software"),
 // deal in the Software without restriction, including without limitation the  // to deal in the Software without restriction, including without limitation
 // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or  // the rights to use, copy, modify, merge, publish, distribute, sublicense,
 // sell copies of the Software, and to permit persons to whom the Software is  // and/or sell copies of the Software, and to permit persons to whom the
 // furnished to do so, subject to the following conditions:  // Software is furnished to do so, subject to the following conditions:
 // //
 // THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN  // The above copyright notice and this permission notice shall be included
 // ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED  // in all copies or substantial portions of the Software.
 // "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.  
 // //
 //==============================================================================  // 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.
   //
   //////////////////////////////////////////////////////////////////////////
 // //
 //%///////////////////////////////////////////////////////////////////////////// //%/////////////////////////////////////////////////////////////////////////////
  
Line 54 
Line 52 
 class Resolver; class Resolver;
 class CIMQualifierRep; class CIMQualifierRep;
  
 /** The CIMQualifier class is used to represent CIM qualifiers in Pegasus.  /**
     It is almost identical to \Ref{CIMQualifierDecl} except that it has no      A CIMQualifier represents a DMTF standard CIM qualifier.
     scope member.      A CIMQualifier differs from a CIMQualifierDecl in that it has no scope
     This includes functions to create qualifiers and manipulate/test      attribute.
     the individual components of the CIMQualifier.  
     CIMQualifiers are accumulated into lists for use in CIMClasses and      <p>The CIMQualifier class uses a shared representation model, such that
     CIMProperties using the \Ref{CIMQualifierList} Class and its      multiple CIMQualifier objects may refer to the same data copy.  Assignment
     functions.      and copy operators create new references to the same data, not distinct
       copies.  An update to a CIMQualifier object affects all the CIMQualifier
       objects that refer to the same data copy.  The data remains valid until
       all the CIMQualifier objects that refer to it are destructed.  A separate
       copy of the data may be created using the clone method.
 */ */
 class PEGASUS_COMMON_LINKAGE CIMQualifier class PEGASUS_COMMON_LINKAGE CIMQualifier
 { {
 public: public:
  
     /** Constructor - Creates a CIM qualifier object with empty name      /**
         value fields.          Constructs an uninitialized CIMQualifier 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.
     */     */
     CIMQualifier();     CIMQualifier();
  
     /** Constructor - Creates a CIM qualifier object from another      /**
         CIM qualifier object.          Constructs a CIMQualifier object from the value of a specified
         @param x - CIMQualifier object.          CIMQualifier object, so that both objects refer to the same data copy.
           @param x The CIMQualifier object from which to construct a new
               CIMQualifier object.
     */     */
     CIMQualifier(const CIMQualifier& x);     CIMQualifier(const CIMQualifier& x);
  
     /** Constructor - Creates a CIM qualifier object with the parameters      /**
         defined on input.          Constructs a CIMQualifier object with the specified attributes.
         @param name - CIMName representing name for the new qualifier.          @param name A CIMName specifying the name of the qualifier.
         @param value - CIMValue from which to extract the value for the keys.          @param value A CIMValue specifying the qualifier value, and implicitly
         @param flavor - Flavor defined for this qualifier definition. Default              defining the qualifier type and whether the qualifier is an Array
         for this parameter is CIMFlavor::NONE.              qualifier.
         @param propagated - Boolean defining whether this is a propagated          @param flavor A CIMFlavor indicating the qualifier flavors.
         qualifier.  This is an optional parameter with default = false          @param propagated A Boolean indicating whether the qualifier is local
               to the context in which it appears or was propagated
               (without modification) from other schema.
           @exception UninitializedObjectException If the qualifier name is null.
     */     */
     CIMQualifier(     CIMQualifier(
         const CIMName& name,         const CIMName& name,
Line 93 
Line 104 
         const CIMFlavor & flavor = CIMFlavor (CIMFlavor::NONE),         const CIMFlavor & flavor = CIMFlavor (CIMFlavor::NONE),
         Boolean propagated = false);         Boolean propagated = false);
  
     /// Destructor      /**
           Destructs the CIMQualifier object.
       */
     ~CIMQualifier();     ~CIMQualifier();
  
     ///      /**
           Assigns the value of the specified CIMQualifier object to this
           object, so that both objects refer to the same data copy.
           @param x The CIMQualifier object from which to assign this
               CIMQualifier object.
           @return A reference to this CIMQualifier object.
       */
     CIMQualifier& operator=(const CIMQualifier& x);     CIMQualifier& operator=(const CIMQualifier& x);
  
     /** Returns the name field from the qualifier.      /**
         @return CIMName containing the qualifier name.          Gets the name of the qualifier.
           @return A CIMName containing the name of the qualifier.
           @exception UninitializedObjectException If the object is not
               initialized.
     */     */
     const CIMName& getName() const;     const CIMName& getName() const;
  
     /** Sets the qualifier name field in the qualifier object.      /**
         @param name - CIMName containing the name for the qualifier.          Sets the qualifier name.
           @param name A CIMName containing the new name of the qualifier.
           @exception UninitializedObjectException If the object is not
               initialized.
           @exception Exception If the object is already contained by CIMClass,
               CIMInstance, CIMObject, CIMProperty, CIMParameter or CIMMethod
     */     */
     void setName(const CIMName& name);     void setName(const CIMName& name);
  
     /** Gets the type field from the qualifier object.      /**
         @return CIMType containing the type for this qualifier.          Gets the qualifier type.
           @return A CIMType containing the qualifier type.
           @exception UninitializedObjectException If the object is not
               initialized.
     */     */
     CIMType getType() const;     CIMType getType() const;
  
     /** Return true if the qualifier is an array.      /**
         @return true if the qualifier is an array, false otherwise.          Checks whether the qualifier is an Array qualifier.
           @return True if the qualifier is an Array qualifier, false otherwise.
           @exception UninitializedObjectException If the object is not
               initialized.
     */     */
     Boolean isArray() const;     Boolean isArray() const;
  
     /** Gets the value component of the qualifier object.      /**
         @return CIMValue containing the value component.          Gets the qualifier value.
           @return A CIMValue containing the qualifier value.
           @exception UninitializedObjectException If the object is not
               initialized.
     */     */
     const CIMValue& getValue() const;     const CIMValue& getValue() const;
  
     /** Puts a CIMValue object into a CIMQualifier object.      /**
         @param value - The CIMValue object to install.          Sets the qualifier value.
           @param value A CIMValue containing the new value of the qualifier.
           @exception UninitializedObjectException If the object is not
               initialized.
     */     */
     void setValue(const CIMValue& value);     void setValue(const CIMValue& value);
  
     /** Sets the bits defined on input into the Flavor variable      /**
         for the Qualifier Object.          Adds flavors to the qualifier.
         @param flavor - CIMFlavor object defines the flavor bits to be set.          @param flavor A CIMFlavor indicating the flavors to add.
           @exception UninitializedObjectException If the object is not
               initialized.
     */     */
     void setFlavor(const CIMFlavor & flavor);     void setFlavor(const CIMFlavor & flavor);
  
     /** Resets the bits defined for the flavor      /**
         for the Qualifier Object with the input.          Removes flavors from the qualifier.
         @param flavor - CIMFlavor object defines the flavor bits to be unset.          @param flavor A CIMFlavor indicating the flavors to remove.
           @exception UninitializedObjectException If the object is not
               initialized.
     */     */
     void unsetFlavor(const CIMFlavor & flavor);     void unsetFlavor(const CIMFlavor & flavor);
  
     /** Gets the Flavor field from the Qualifier.      /**
         @return CIMFlavor object from this qualifier.          Gets the qualifier flavors.
           @return A CIMFlavor containing the qualifier flavor settings.
           @exception UninitializedObjectException If the object is not
               initialized.
     */     */
     const CIMFlavor & getFlavor() const;     const CIMFlavor & getFlavor() const;
  
     /** Gets the Propagated flag for the qualifier.      /**
           Tests the propagated attribute of the qualifier.  The propagated
           attribute indicates whether this qualifier was propagated from a
           higher-level class.  Normally this attribute is set as part of
           defining a qualifier in the context of a schema.  It is set in
           qualifiers retrieved from a CIM Server.
         (Note: Although this method is intended to return a Boolean value,         (Note: Although this method is intended to return a Boolean value,
         changing the return type would break interface compatibility.)         changing the return type would break interface compatibility.)
         @return non-zero if qualifier is propagated, zero otherwise.          @return Non-zero if qualifier is propagated, otherwise zero.
      */          @exception UninitializedObjectException If the object is not
     const Uint32 getPropagated() const;              initialized.
       */
     /** Sets the Propagated flag for the qualifier.      Uint32 getPropagated() const;
         @param propagated - Flag indicating propagation.  
       /**
           Sets the propagated attribute.  Normally this is used by a CIM Server
           when defining a qualifier in the context of a schema.
           @param propagated A Boolean indicating whether the qualifier is
               propagated.
           @exception UninitializedObjectException If the object is not
               initialized.
     */     */
     void setPropagated(Boolean propagated);     void setPropagated(Boolean propagated);
  
     /** Determines if the object has not been initialized.      /**
         @return  true if the object has not been initialized,          Determines whether the object has been initialized.
                  false otherwise.          @return True if the object has not been initialized, false otherwise.
      */      */
     Boolean isUninitialized() const;     Boolean isUninitialized() const;
  
     /** Compares two CIMQualifier objects.      /**
         @return  true if the objects are identical, false otherwise.          Compares the qualifier with another qualifier.
           @param x The CIMConstQualifier to be compared.
           @return True if this qualifier is identical to the one specified,
               false otherwise.
           @exception UninitializedObjectException If either of the objects
               is not initialized.
     */     */
     Boolean identical(const CIMConstQualifier& x) const;     Boolean identical(const CIMConstQualifier& x) const;
  
     /** Creates an exact copy of the qualifier and returns the      /**
         new object.          Makes a deep copy of the qualifier.  This creates a new copy
         @return copy of CIMQualifier object.          of all the qualifier attributes.
           @return A new copy of the CIMQualifier object.
           @exception UninitializedObjectException If the object is not
               initialized.
     */     */
     CIMQualifier clone() const;     CIMQualifier clone() const;
  
Line 179 
Line 245 
  
     CIMQualifier(CIMQualifierRep* rep);     CIMQualifier(CIMQualifierRep* rep);
  
     void _checkRep() const;  
   
     CIMQualifierRep* _rep;     CIMQualifierRep* _rep;
  
     friend class CIMConstQualifier;     friend class CIMConstQualifier;
Line 189 
Line 253 
     friend class XmlWriter;     friend class XmlWriter;
     friend class MofWriter;     friend class MofWriter;
     friend class BinaryStreamer;     friend class BinaryStreamer;
       friend class CIMQualifierList;
 }; };
  
   
 //////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
 // //
 // CIMConstQualifier // CIMConstQualifier
 // //
 //////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
  
 ///  /**
       The CIMConstQualifier class provides a const interface to a CIMQualifier
       object.  This class is needed because the shared representation model
       used by CIMQualifier does not prevent modification to a const CIMQualifier
       object.  Note that the value of a CIMConstQualifier object could still be
       modified by a CIMQualifier object that refers to the same data copy.
   */
 class PEGASUS_COMMON_LINKAGE CIMConstQualifier class PEGASUS_COMMON_LINKAGE CIMConstQualifier
 { {
 public: public:
  
     ///      /**
           Constructs an uninitialized CIMConstQualifier 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.
       */
     CIMConstQualifier();     CIMConstQualifier();
  
     ///      /**
           Constructs a CIMConstQualifier object from the value of a specified
           CIMConstQualifier object, so that both objects refer to the same data
           copy.
           @param x The CIMConstQualifier object from which to construct a new
               CIMConstQualifier object.
       */
     CIMConstQualifier(const CIMConstQualifier& x);     CIMConstQualifier(const CIMConstQualifier& x);
  
     ///      /**
           Constructs a CIMConstQualifier object from the value of a specified
           CIMQualifier object, so that both objects refer to the same data
           copy.
           @param x The CIMQualifier object from which to construct a new
               CIMConstQualifier object.
       */
     CIMConstQualifier(const CIMQualifier& x);     CIMConstQualifier(const CIMQualifier& x);
  
     ///      /**
           Constructs a CIMConstQualifier object with the specified attributes.
           @param name A CIMName specifying the name of the qualifier.
           @param value A CIMValue specifying the qualifier value, and implicitly
               defining the qualifier type and whether the qualifier is an Array
               qualifier.
           @param flavor A CIMFlavor indicating the qualifier flavors.
           @param propagated A Boolean indicating whether the qualifier is local
               to the context in which it appears or was propagated
               (without modification) from other schema.
           @exception UninitializedObjectException If the qualifier name is null.
       */
     CIMConstQualifier(     CIMConstQualifier(
         const CIMName& name,         const CIMName& name,
         const CIMValue& value,         const CIMValue& value,
         const CIMFlavor & flavor = CIMFlavor (CIMFlavor::NONE),         const CIMFlavor & flavor = CIMFlavor (CIMFlavor::NONE),
         Boolean propagated = false);         Boolean propagated = false);
  
     ///      /**
           Destructs the CIMQualifier object.
       */
     ~CIMConstQualifier();     ~CIMConstQualifier();
  
     ///      /**
           Assigns the value of the specified CIMConstQualifier object to this
           object, so that both objects refer to the same data copy.
           @param x The CIMConstQualifier object from which to assign this
               CIMConstQualifier object.
           @return A reference to this CIMConstQualifier object.
       */
     CIMConstQualifier& operator=(const CIMConstQualifier& x);     CIMConstQualifier& operator=(const CIMConstQualifier& x);
  
     ///      /**
           Assigns the value of the specified CIMQualifier object to this
           object, so that both objects refer to the same data copy.
           @param x The CIMQualifier object from which to assign this
               CIMConstQualifier object.
           @return A reference to this CIMConstQualifier object.
       */
     CIMConstQualifier& operator=(const CIMQualifier& x);     CIMConstQualifier& operator=(const CIMQualifier& x);
  
     ///      /**
           Gets the name of the qualifier.
           @return A CIMName containing the name of the qualifier.
           @exception UninitializedObjectException If the object is not
               initialized.
       */
     const CIMName& getName() const;     const CIMName& getName() const;
  
     ///      /**
           Gets the qualifier type.
           @return A CIMType containing the qualifier type.
           @exception UninitializedObjectException If the object is not
               initialized.
       */
     CIMType getType() const;     CIMType getType() const;
  
     ///      /**
           Checks whether the qualifier is an Array qualifier.
           @return True if the qualifier is an Array qualifier, false otherwise.
           @exception UninitializedObjectException If the object is not
               initialized.
       */
     Boolean isArray() const;     Boolean isArray() const;
  
     ///      /**
           Gets the qualifier value.
           @return A CIMValue containing the qualifier value.
           @exception UninitializedObjectException If the object is not
               initialized.
       */
     const CIMValue& getValue() const;     const CIMValue& getValue() const;
  
     ///      /**
           Gets the qualifier flavors.
           @return A CIMFlavor containing the qualifier flavor settings.
           @exception UninitializedObjectException If the object is not
               initialized.
       */
     const CIMFlavor & getFlavor() const;     const CIMFlavor & getFlavor() const;
  
     ///      /**
     const Uint32 getPropagated() const;          Tests the propagated attribute of the qualifier.  The propagated
           attribute indicates whether this qualifier was propagated from a
     ///          higher-level class.  Normally this attribute is set as part of
           defining a qualifier in the context of a schema.  It is set in
           qualifiers retrieved from a CIM Server.
           (Note: Although this method is intended to return a Boolean value,
           changing the return type would break interface compatibility.)
           @return Non-zero if qualifier is propagated, otherwise zero.
           @exception UninitializedObjectException If the object is not
               initialized.
       */
       Uint32 getPropagated() const;
   
       /**
           Determines whether the object has been initialized.
           @return True if the object has not been initialized, false otherwise.
       */
     Boolean isUninitialized() const;     Boolean isUninitialized() const;
  
     ///      /**
           Compares the qualifier with another qualifier.
           @param x The CIMConstQualifier to be compared.
           @return True if this qualifier is identical to the one specified,
               false otherwise.
           @exception UninitializedObjectException If either of the objects
               is not initialized.
       */
     Boolean identical(const CIMConstQualifier& x) const;     Boolean identical(const CIMConstQualifier& x) const;
  
     ///      /**
           Makes a deep copy of the qualifier.  This creates a new copy
           of all the qualifier attributes.
           @return A CIMQualifier object with a separate copy of the
               CIMConstQualifier object.
           @exception UninitializedObjectException If the object is not
               initialized.
       */
     CIMQualifier clone() const;     CIMQualifier clone() const;
  
 private: private:
  
     void _checkRep() const;  
   
     CIMQualifierRep* _rep;     CIMQualifierRep* _rep;
  
     friend class CIMQualifier;     friend class CIMQualifier;


Legend:
Removed from v.1.47.18.2  
changed lines
  Added in v.1.55

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2