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

Diff for /pegasus/src/Pegasus/Common/CIMMethod.h between version 1.41 and 1.51

version 1.41, 2003/11/28 18:35:09 version 1.51, 2006/02/16 22:49:24
Line 1 
Line 1 
 //%2003////////////////////////////////////////////////////////////////////////  //%2006////////////////////////////////////////////////////////////////////////
 // //
 // Copyright (c) 2000, 2001, 2002  BMC Software, Hewlett-Packard Development  // Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development
 // Company, L. P., IBM Corp., The Open Group, Tivoli Systems.  // Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems.
 // Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L. P.; // Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L. P.;
 // IBM Corp.; EMC Corporation, The Open Group. // 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 // Permission is hereby granted, free of charge, to any person obtaining a copy
 // of this software and associated documentation files (the "Software"), to // of this software and associated documentation files (the "Software"), to
Line 23 
Line 29 
 // //
 //============================================================================== //==============================================================================
 // //
 // Author: Mike Brasher (mbrasher@bmc.com)  
 //  
 // Modified By: Roger Kumpf, Hewlett-Packard Company (roger_kumpf@hp.com)  
 //              Carol Ann Krug Graves, Hewlett-Packard Company  
 //                (carolann_graves@hp.com)  
 //  
 //%///////////////////////////////////////////////////////////////////////////// //%/////////////////////////////////////////////////////////////////////////////
  
 #ifndef Pegasus_Method_h #ifndef Pegasus_Method_h
Line 48 
Line 48 
 class CIMConstMethod; class CIMConstMethod;
 class CIMMethodRep; class CIMMethodRep;
  
 /** The CIMMethod class is used to represent CIM methods in Pegasus. A Pegasus CIMMethod  /**
     consists of the following entities:      The CIMMethod class represents the DMTF standard CIM method definition.
       A CIMMethod is generally defined in the context of a CIMClass.
       A CIMMethod consists of:
     <ul>     <ul>
         <li>Name of the method, a CIMName.  The name must be a legal name for a          <li>A CIMName containing the name of the method
         CIMProperty or Method \Ref{CIMName}.          <li>A CIMType defining the method return type
           <li>Zero or more CIMQualifier objects
         <li>CIM type of the return value of the method, a \Ref{CIMType}. This is any          <li>Zero or more CIMParameter objects defining the method parameters
         of the predefined CIM types (for example: Boolean).  
   
         <li>Optional qualifiers (see \Ref{CIMQualifier}) for the method.  A method  
         can contain zero or more CIMQualifiers and methods are provided to  
         manipulate the set of qualifiers attached to a CIMMethod object.  
   
         <li>Optional parameters (see \Ref{CIMParameter} for the method which are  
         the parameters to be placed on a CIM Method operation.  A CIMMethod can  
         contain zero or more CIMParameters and methods are provided in CIMMethod  
         to manipulate the set of CIMParameters attached to a CIMMethod object.  
     </ul>     </ul>
     In addition a CIMMethod contains the following internal attributes:      In addition, a CIMMethod has these internal attributes:
     <ul>     <ul>
         <li><b>propagated</b> - An attribute defining whether this CIMMethod is          <li><b>propagated</b> - An attribute defining whether this CIMMethod
         propagated from a superclass.  Note that this is normally set as part of              is propagated from a superclass.  Note that this is normally set
         completing the definition of objects (resolving) when they are placed in a              as part of completing the definition of objects (resolving) when
         repository and is NOT automatically set when creating a local object.  It              they are created as part of a CIM schema and is NOT automatically
         is part of the context of the object within the repository.  It can only              set when creating a method object.  It can only be logically set
         logically be set in context of the superclass of which this CIMMethod is              in context of the schema in which the CIMMethod is defined.
         defined.          <li><b>classOrigin</b> - An attribute defining the class in which
         <li><b>ClassOrigin</b> - An attribute defining the superclass in which this              this CIMMethod was originally defined.  This is normally set
         CIMMethod was originally defined.  This is normally set within the context              within the context of the schema in which the CIMMethod is
         of the CIM Server context of other CIM objects (for example,  a              defined.  This attribute is available from objects retrieved
         repository).  This attribute is available from objects retrieved from the              from the CIM Server, for example, and provides information on
         CIM Server, for example and provides information on the defintion of this method in the class hiearchy              the defintion of this method in the class hierarchy.  The
         (this object or a superclass or instance of a superclass)was originally              propagated and ClassOrigin attributes can be used together to
         defined.  Together the propagated and ClassOrigin attributes can be used              determine if methods originated with this object or were
         to determine if methods originated with the current object or were              inherited from higher levels of the hiearchy.
         inherited from higher levels in the hiearchy.  
     </ul>     </ul>
     CIMMethods are generally in the context of a CIMClass.  
  
     CIMMethod is a shared class that uses shared representations, meaning that multiple      <p>The CIMMethod class uses a shared representation model, such that
     CIMMethods objects may refer to the came copy of data. Assignment and copy      multiple CIMMethod objects may refer to the same data copy.  Assignment
     operators create new references to the same data, not distinct copies. A distinct copy      and copy operators create new references to the same data, not distinct
     may be created using teh clone method.      copies.  An update to a CIMMethod object affects all the CIMMethod
     {@link Shared Classes}      objects that refer to the same data copy.  The data remains valid until
     @see CIMConstMethod      all the CIMMethod objects that refer to it are destructed.  A separate
     @see CIMParameters      copy of the data may be created using the clone method.
     @see CIMQualifiers  
     @see CIMType  
     @see CIMClass  
 */ */
 class PEGASUS_COMMON_LINKAGE CIMMethod class PEGASUS_COMMON_LINKAGE CIMMethod
 { {
 public: public:
  
     /** Creates a new unitialized CIMMethod object.      /**
         The only thing that can be done with this object is to copy another object          Constructs an uninitialized CIMMethod object.  A method
         into it.  Other methods such as setName, etc.  will fail with an          invocation on an uninitialized object will result in the throwing
         UnitializedObjectException.  The object has the state unitialized which          of an UninitializedObjectException.  An uninitialized object may
         can be tested with the isUnitialized() method.          be converted into an initialized object only by using the assignment
         @see isUnitialized()          operator with an initialized object.
         @see UnitializedObjectException  
     */     */
     CIMMethod();     CIMMethod();
  
     /** Creates a new CIMMethod object from another CIMMethod object.      /**
         The new CIMMethodObject references the same copy of data as the          Constructs a CIMMethod object from the value of a specified
         specified object; no copy is made.          CIMMethod object, so that both objects refer to the same data copy.
         @param x CIMMethod object from which to create the new CIMMethod object.  
           <p><b>Example:</b>
         <pre>         <pre>
             CIMMethod m1(CIMName ("getHostName"), CIMTYPE_STRING);             CIMMethod m1(CIMName ("getHostName"), CIMTYPE_STRING);
             const CIMMethod cm1(m1);             const CIMMethod cm1(m1);
         </pre>         </pre>
         {@link Shared Classes}  
           @param x The CIMMethod object from which to construct a new
               CIMMethod object.
     */     */
     CIMMethod(const CIMMethod& x);     CIMMethod(const CIMMethod& x);
  
     /** Creates a CIMMethod object with the specified name and other input attributes.      /**
         @param name CIMName defining the name for the method.          Constructs a CIMMethod object with the specified attributes.
   
         @param type CIMType defining method return  data type.  
   
         @param classOrigin (optional) CIMName representing the class origin. Note  
             that this should normally not be used.  If not provided set to  
             CIMName() (Null name).  
         @param propagated Optional flag indicating whether the definition of the  
             CIM Method is local to the CIM Class (respectively, Instance) in which  
             it appears, or was propagated without modification from the a  
             Superclass. Default is false. Note that this attribute is normally  
             not set by CIM Clients but is used internally within the CIM  
             Server.  
         <p><b>Example:</b>         <p><b>Example:</b>
         <pre>         <pre>
             CIMMethod m1(CIMName ("getHostName"), CIMTYPE_STRING);             CIMMethod m1(CIMName ("getHostName"), CIMTYPE_STRING);
         </pre>         </pre>
   
           @param name A CIMName specifying the name of the method.
           @param type A CIMType defining the method return type.
           @param classOrigin A CIMName indicating the class in which the
               method is locally defined (optional).
           @param propagated A Boolean indicating whether the method definition
               is local to the CIMClass in which it appears or was propagated
               (without modification) from a superclass.
           @exception UninitializedObjectException If the method name is null.
     */     */
     CIMMethod(     CIMMethod(
         const CIMName& name,         const CIMName& name,
Line 149 
Line 135 
         const CIMName& classOrigin = CIMName(),         const CIMName& classOrigin = CIMName(),
         Boolean propagated = false);         Boolean propagated = false);
  
     /** Destructor for the CIMMethod. The shared data copy remains valid until      /**
         all referring objects are destructed          Destructs the CIMMethod object.
         {@link Shared Classes}  
     */     */
     ~CIMMethod();     ~CIMMethod();
  
     /** The assignment operator assigns one CIM method to another.      /**
         After the assignment, both CIMMethod objects refer to the same          Assigns the value of the specified CIMMethod object to this object,
         data copy; a distinct copy is not created.          so that both objects refer to the same data copy.
  
         <p><b>Example:</b>         <p><b>Example:</b>
         <pre>         <pre>
Line 165 
Line 150 
             CIMMethod m2;             CIMMethod m2;
             m2 = m1;             m2 = m1;
         </pre>         </pre>
   
           @param x The CIMMethod object from which to assign this CIMMethod
               object.
           @return A reference to this CIMMethod object.
     */     */
     CIMMethod& operator=(const CIMMethod& x);     CIMMethod& operator=(const CIMMethod& x);
  
     /** Gets the name of the method.      /**
         @return CIMName with the name of the method.          Gets the name of the method.
         <p><b>Example:</b>         <p><b>Example:</b>
         <pre>         <pre>
             CIMMethod m1(CIMName ("getHostName"), CIMTYPE_STRING);             CIMMethod m1(CIMName ("getHostName"), CIMTYPE_STRING);
             assert(m1.getName() == CIMName ("getHostName"));             assert(m1.getName() == CIMName ("getHostName"));
         </pre>         </pre>
           @return A CIMName containing the name of the method.
           @exception UninitializedObjectException If the object is not
               initialized.
     */     */
     const CIMName& getName() const;     const CIMName& getName() const;
  
     /** Sets the method name.      /**
         @param name CIMName for the method name. Replaces any          Sets the method name.
             previously defined name for this method object.  
         <p><b>Example:</b>         <p><b>Example:</b>
         <pre>         <pre>
             CIMMethod m2(CIMName ("test"), CIMTYPE_STRING);             CIMMethod m2(CIMName ("test"), CIMTYPE_STRING);
             m2.setName(CIMName ("getVersion"));             m2.setName(CIMName ("getVersion"));
         </pre>         </pre>
           @return A CIMName containing the new name of the method.
           @exception UninitializedObjectException If the object is not
               initialized.
     */     */
     void setName(const CIMName& name);     void setName(const CIMName& name);
  
     /** Gets the method return data type.      /**
         @return CIMType containing the method return data type for this          Gets the method return type.
         method.  
         @exception Throws UnitializedObjectException if object is not  
         initialized.  
         <p><b>Example:</b>         <p><b>Example:</b>
         <pre>         <pre>
             CIMMethod m1(CIMName ("getHostName"), CIMTYPE_STRING);             CIMMethod m1(CIMName ("getHostName"), CIMTYPE_STRING);
             assert(m1.getType() == CIMTYPE_STRING);             assert(m1.getType() == CIMTYPE_STRING);
         </pre>         </pre>
           @return A CIMType containing the method return type.
           @exception UninitializedObjectException If the object is not
               initialized.
     */     */
     CIMType getType() const;     CIMType getType() const;
  
     /** Sets the method return data type to the specified CIMtype.      /**
           Sets the method return type to the specified CIMType.
         This is the type of the CIMValue         This is the type of the CIMValue
         that is returned on a CIM method invocation          that is returned on a CIM method invocation.
         @param type CIMType to be set into the CIMMethod object.  
         @exception Throws UnitializedObjectException if object is not  
         initialized.  
         <p><b>Example:</b>         <p><b>Example:</b>
         <pre>         <pre>
             CIMMethod m1();              CIMMethod m1(CIMName ("getHostName"), CIMTYPE_STRING);
             m1.setName(CIMName ("getVersion"));             m1.setName(CIMName ("getVersion"));
             assert(m1.setType(CIMTYPE_STRING));              assert(m1.getName() == CIMName ("getVersion"));
         </pre>         </pre>
           @param type CIMType to be set into the CIMMethod object.
           @exception UninitializedObjectException If the object is not
               initialized.
     */     */
     void setType(CIMType type);     void setType(CIMType type);
  
     /** Gets the class in which this method was defined. This information      /**
         is normally available with methods that are part of classes and          Gets the class in which this method is locally defined.  This
         instances returned from a CIM Server.          information is normally available with methods that are part of
         @return CIMName containing the classOrigin field.          schema returned from a CIM Server.
           @return CIMName containing the classOrigin attribute.
           @exception UninitializedObjectException If the object is not
               initialized.
     */     */
     const CIMName& getClassOrigin() const;     const CIMName& getClassOrigin() const;
  
     /** Sets the ClassOrigin attribute with the classname defined on      /**
         the input parameter. Normally this method is used internally          Sets the classOrigin attribute with the specified class name.
         as part of the use objects containing methods (classes          Normally this method is used internally by a CIM Server when
         and instances) in the context of the CIM Server.          defining methods in the context of a schema.
         @param classOrigin CIMName parameter defining the name          @param classOrigin A CIMName specifying the name of the class of
         of the class origin.              origin for the method.
         @exception Throws UnitializedObjectException if object is not          @exception UninitializedObjectException If the object is not
         initialized.         initialized.
     */     */
     void setClassOrigin(const CIMName& classOrigin);     void setClassOrigin(const CIMName& classOrigin);
  
     /** Tests the propagated attribute of the object.  The propagated attribute      /**
         indicates if this method was propagated from a higher level          Tests the propagated attribute of the object.  The propagated
         class.  Normally this attribute is set as part of putting          attribute indicates whether this method was propagated from a
         classes into the repository (resolving the class).  It is          higher-level class.  Normally this attribute is set as part of
         available on methods in classes read from the repository and          defining a method in the context of a schema.  It is set in
         on instances that are read from the instance repository.          methods retrieved from a CIM Server.
         @return True if method is propagated; otherwise,false.         @return True if method is propagated; otherwise,false.
           @exception UninitializedObjectException If the object is not
               initialized.
     */     */
     Boolean getPropagated() const;     Boolean getPropagated() const;
  
     /** Sets the Propagated qualifier. Normally this is used by the functions      /**
         that resolve classes and instances as part of the installation into          Sets the propagated attribute.  Normally this is used by a CIM Server
         a repository.          when defining a method in the context of a schema.
         @param propagated Flag indicating method is propagated from superclass propagation.          @param propagated A Boolean indicating whether the method is
         True means that the method was propagated from superclass.              propagated from a superclass.
         @exception Throws UnitializedObjectException if object is not          @exception UninitializedObjectException If the object is not
         initialized.         initialized.
     */     */
     void setPropagated(Boolean propagated);     void setPropagated(Boolean propagated);
  
     /** Adds the specified qualifier to the CIMmethod object.      /**
         @param x CIMQualifier object representing the qualifier          Adds a qualifier to the method.
         to be added.  
         @return The CIMMethod object after adding the specified qualifier.  
         @exception Throws AlreadyExistsException if the qualifier already exists.  
         <p><b>Example:</b>         <p><b>Example:</b>
         <pre>         <pre>
             CIMMethod m1(CIMName ("getHostName"), CIMTYPE_STRING);             CIMMethod m1(CIMName ("getHostName"), CIMTYPE_STRING);
             m1.addQualifier(CIMQualifier(CIMName ("stuff"), true));             m1.addQualifier(CIMQualifier(CIMName ("stuff"), true));
         </pre>         </pre>
           @param x The CIMQualifier to be added.
           @return A reference to this CIMMethod object.
           @exception AlreadyExistsException If a qualifier with the
               same name already exists in the CIMMethod.
           @exception UninitializedObjectException If the object is not
               initialized.
     */     */
     CIMMethod& addQualifier(const CIMQualifier& x);     CIMMethod& addQualifier(const CIMQualifier& x);
  
     /** Searches for a qualifier with the specified input name.      /**
         @param name CIMName of the qualifier to be found.          Finds a qualifier by name.
         @return Zero origin index of the qualifier found or PEG_NOT_FOUND  
         if not found.  
         @exception Throws UnitializedObjectException if object is not  
         initialized.  
         <p><b>Example:</b>         <p><b>Example:</b>
         <pre>         <pre>
             CIMMethod m1(CIMName ("getHostName"), CIMTYPE_STRING);             CIMMethod m1(CIMName ("getHostName"), CIMTYPE_STRING);
             m1.addQualifier(CIMQualifier(CIMName ("stuff"), true));             m1.addQualifier(CIMQualifier(CIMName ("stuff"), true));
             assert(m1.findQualifier(CIMName ("stuff")) != PEG_NOT_FOUND);             assert(m1.findQualifier(CIMName ("stuff")) != PEG_NOT_FOUND);
         </pre>         </pre>
           @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;     Uint32 findQualifier(const CIMName& name) const;
  
     /** Gets the CIMQualifier defined by the input parameter.      /**
         @param index Zero origin index of the qualifier requested.          Gets the qualifier at the specified index.
         @return CIMQualifier object representing the qualifier found.  
         @exception Throws IndexOutOfBoundsException exception if the index is  
         outside the range of parameters available from the CIMMethod.  
         <p><b>Example:</b>         <p><b>Example:</b>
         <pre>         <pre>
             CIMMethod m1(CIMName ("getHostName"), CIMTYPE_STRING);             CIMMethod m1(CIMName ("getHostName"), CIMTYPE_STRING);
             m1.addQualifier(CIMQualifier(CIMName ("stuff"), true));             m1.addQualifier(CIMQualifier(CIMName ("stuff"), true));
             Uint32 posQualifier;              Uint32 posQualifier = m1.findQualifier(CIMName ("stuff"));
             posQualifier = m1.findQualifier(CIMName ("stuff"));              if (posQualifier != PEG_NOT_FOUND)
               {
             CIMQualifier q = m1.getQualifier(posQualifier);             CIMQualifier q = m1.getQualifier(posQualifier);
               }
         </pre>         </pre>
           @param index The index of the qualifier to be retrieved.
           @return The CIMQualifier object at the specified index.
           @exception IndexOutOfBoundsException If the index is
               outside the range of qualifiers available for the CIMMethod.
           @exception UninitializedObjectException If the object is not
               initialized.
     */     */
     CIMQualifier getQualifier(Uint32 index);     CIMQualifier getQualifier(Uint32 index);
  
     /** Gets the CIMQualifier defined by the input parameter.      /**
         @param index Index of the qualifier requested.          Gets the qualifier at the specified index.
         @return CIMConstQualifier object representing the qualifier found.  
         @exception Throws IndexOutOfBoundsException exception if the index is  
         outside the range of parameters available from the CIMMethod.  
         <p><b>Example:</b>         <p><b>Example:</b>
         <pre>         <pre>
             CIMMethod m1(CIMName ("getHostName"), CIMTYPE_STRING);             CIMMethod m1(CIMName ("getHostName"), CIMTYPE_STRING);
             m1.addQualifier(CIMQualifier(CIMName ("stuff"), true));             m1.addQualifier(CIMQualifier(CIMName ("stuff"), true));
               const CIMMethod m2 = m1;
             Uint32 posQualifier;              Uint32 posQualifier = m2.findQualifier(CIMName ("stuff"));
             posQualifier = m1.findQualifier(CIMName ("stuff"));              if (posQualifier != PEG_NOT_FOUND)
             CIMQualifier q = m1.getQualifier(posQualifier);              {
                   CIMConstQualifier q = m2.getQualifier(posQualifier);
               }
         </pre>         </pre>
           @param index The index of the qualifier to be retrieved.
           @return The CIMConstQualifier object at the specified index.
           @exception IndexOutOfBoundsException If the index is
               outside the range of qualifiers available for the CIMMethod.
           @exception UninitializedObjectException If the object is not
               initialized.
     */     */
     CIMConstQualifier getQualifier(Uint32 index) const;     CIMConstQualifier getQualifier(Uint32 index) const;
  
     /** Removes the specified CIMQualifier from this method.      /**
         @param index Index of the qualifier to remove.          Removes a qualifier from the method.
         @exception Throws IndexOutOfBoundsException exception if the index is  
             outside the range of parameters available from the CIMMethod.  
         <p><b>Example:</b>         <p><b>Example:</b>
         <pre>         <pre>
             // remove all qualifiers from a class             // remove all qualifiers from a class
Line 327 
Line 338 
                 while((count = cimClass.getQualifierCount()) > 0)                 while((count = cimClass.getQualifierCount()) > 0)
                         cimClass.removeQualifier(count - 1);                         cimClass.removeQualifier(count - 1);
         </pre>         </pre>
           @param index The index of the qualifier to remove.
           @exception IndexOutOfBoundsException If the index is
               outside the range of qualifiers available for the CIMMethod.
           @exception UninitializedObjectException If the object is not
               initialized.
     */     */
     void removeQualifier(Uint32 index);     void removeQualifier(Uint32 index);
  
     /** Returns the number of Qualifiers attached to this CIMMethod object.      /**
         @return The number of qualifiers attached to the CIM Method.          Gets the number of qualifiers in the method.
         <p><b>Example:</b>         <p><b>Example:</b>
         <pre>         <pre>
             CIMMethod m1(CIMName ("getHostName"), CIMTYPE_STRING);             CIMMethod m1(CIMName ("getHostName"), CIMTYPE_STRING);
Line 339 
Line 355 
             m1.addQualifier(CIMQualifier(CIMName ("stuff2"), true));             m1.addQualifier(CIMQualifier(CIMName ("stuff2"), true));
             assert(m1.getQualifierCount() == 2);             assert(m1.getQualifierCount() == 2);
         </pre>         </pre>
           @return An integer count of the qualifiers in the CIMMethod.
           @exception UninitializedObjectException If the object is not
               initialized.
     */     */
     Uint32 getQualifierCount() const;     Uint32 getQualifierCount() const;
  
     /** Adds the parameter defined by the input to the CIMMethod.      /**
         @param x CIMParameter to be added to the CIM Method.          Adds a parameter to the method.
         @return CIMMethod object after the specified parameter is added.  
         <p><b>Example:</b>         <p><b>Example:</b>
         @exception Throws UnitializedObjectException if object is not  
         initialized.  
         <pre>         <pre>
             CIMMethod m1(CIMName ("getHostName"), CIMTYPE_STRING);             CIMMethod m1(CIMName ("getHostName"), CIMTYPE_STRING);
             m1.addParameter(CIMParameter(CIMName ("ipaddress"), CIMTYPE_STRING));             m1.addParameter(CIMParameter(CIMName ("ipaddress"), CIMTYPE_STRING));
         </pre>         </pre>
           @param x The CIMParameter to be added.
           @return A reference to this CIMMethod object.
           @exception AlreadyExistsException If a parameter with the
               same name already exists in the CIMMethod.
           @exception UninitializedObjectException If the object is not
               initialized.
     */     */
     CIMMethod& addParameter(const CIMParameter& x);     CIMMethod& addParameter(const CIMParameter& x);
  
     /** Finds the parameter with the specified name.      /**
         @param name CIMName of parameter to be found.          Finds a parameter by name.
         @return Index of the parameter object found or PEG_NOT_FOUND  
         if the property is not found.  
         <p><b>Example:</b>         <p><b>Example:</b>
         <pre>         <pre>
             Uint32 posParameter;             Uint32 posParameter;
Line 366 
Line 386 
             if (posParameter != PEG_NOT_FOUND)             if (posParameter != PEG_NOT_FOUND)
                 ...                 ...
         </pre>         </pre>
           @param name A CIMName specifying the name of the parameter to be found.
           @return Index of the parameter if found or PEG_NOT_FOUND if not found.
           @exception UninitializedObjectException If the object is not
               initialized.
     */     */
     Uint32 findParameter(const CIMName& name) const;     Uint32 findParameter(const CIMName& name) const;
  
     /** Gets the parameter defined by the specified index.      /**
         @param index Index for the parameter to be returned.          Gets the parameter at the specified index.
         @return CIMParameter object requested.  
         @exception Throws IndexOutOfBoundsException if the index is outside  
             the range of available parameters.  
         <p><b>Example:</b>         <p><b>Example:</b>
         <pre>         <pre>
             CIMParameter cp = m1.getParameter(m1.findParameter(CIMName ("ipaddress")));              CIMParameter cp;
               Uint32 parameterIndex = m1.findParameter(CIMName ("ipaddress"));
               if (parameterIndex != PEG_NOT_FOUND)
               {
                   cp = m1.getParameter(parameterIndex);
               }
         </pre>         </pre>
           @param index The index of the parameter to be retrieved.
           @return The CIMParameter at the specified index.
           @exception IndexOutOfBoundsException If the index is outside
               the range of parameters available for the CIMMethod.
           @exception UninitializedObjectException If the object is not
               initialized.
     */     */
     CIMParameter getParameter(Uint32 index);     CIMParameter getParameter(Uint32 index);
  
     /** Gets the parameter defined for the specified index.      /**
         @param index Index for the parameter to be returned.          Gets the parameter at the specified index.
         @return CIMConstParameter object requested.          <p><b>Example:</b>
         @exception Throws IndexOutOfBoundsException if the index is outside          <pre>
             the range of available parameters              CIMConstParameter cp;
               Uint32 parameterIndex = m1.findParameter(CIMName ("ipaddress"));
               if (parameterIndex != PEG_NOT_FOUND)
               {
                   cp = m1.getParameter(parameterIndex);
               }
           </pre>
           @param index The index of the parameter to be retrieved.
           @return The CIMConstParameter at the specified index.
           @exception IndexOutOfBoundsException If the index is outside
               the range of parameters available for the CIMMethod.
           @exception UninitializedObjectException If the object is not
               initialized.
     */     */
     CIMConstParameter getParameter(Uint32 index) const;     CIMConstParameter getParameter(Uint32 index) const;
  
     /** Removes the CIMParameter defined by the specified index.      /**
           Removes a parameter from the method.
         @param index Index of the parameter to be removed.         @param index Index of the parameter to be removed.
         @exception Throws IndexOutOfBoundsException if the index is outside the          @exception IndexOutOfBoundsException If the index is outside the
             range of parameters available from the CIMMethod.             range of parameters available from the CIMMethod.
           @exception UninitializedObjectException If the object is not
               initialized.
     */     */
     void removeParameter (Uint32 index);     void removeParameter (Uint32 index);
  
     /** Gets the count of Parameters defined in the CIMMethod.      /**
         @return Count of the number of parameters attached to the CIMMethod.          Gets the number of parameters in the method.
           @return An integer count of the CIMParameters in the CIMMethod.
           @exception UninitializedObjectException If the object is not
               initialized.
     */     */
     Uint32 getParameterCount() const;     Uint32 getParameterCount() const;
  
     /** Determines if the object has not been initialized.      /**
         @return  True if the object has not been initialized;          Determines whether the object has been initialized.
                  otherwise false.  
         <p><b>Example:</b>         <p><b>Example:</b>
         <pre>         <pre>
             CIMMethod m1;             CIMMethod m1;
             assert(m1.isUnitialized());              assert(m1.isUninitialized());
         </pre>         </pre>
           @return True if the object has not been initialized, false otherwise.
      */      */
     Boolean isUninitialized() const;     Boolean isUninitialized() const;
  
     /** Compares with a CIMConstMethod.      /**
         @param x CIMConstMethod object for the method to be compared.          Compares the method with another method.
         @return True if this method is identical to the one specified.  
         <p><b>Example:</b>         <p><b>Example:</b>
         <pre>         <pre>
             CIMMethod m1(CIMName ("getHostName"), CIMTYPE_STRING);             CIMMethod m1(CIMName ("getHostName"), CIMTYPE_STRING);
             CIMConstMethod m2(CIMName ("test"), CIMTYPE_STRING);             CIMConstMethod m2(CIMName ("test"), CIMTYPE_STRING);
             assert(!m1.identical(m2));             assert(!m1.identical(m2));
         </pre>         </pre>
           @param x The CIMConstMethod to be compared.
           @return True if this method is identical to the one specified,
               false otherwise.
           @exception UninitializedObjectException If either of the objects
               is not initialized.
     */     */
     Boolean identical(const CIMConstMethod& x) const;     Boolean identical(const CIMConstMethod& x) const;
  
     /** Makes a clone (deep copy) of this method. This creates      /**
         a new copy of all of the components of the method including          Makes a deep copy of the method.  This creates a new copy
         parameters and qualifiers.          of all the method attributes including parameters and qualifiers.
         @return Independent copy of the CIMMethod object.          @return A new copy of the CIMMethod object.
           @exception UninitializedObjectException If the object is not
               initialized.
     */     */
     CIMMethod clone() const;     CIMMethod clone() const;
  
Line 435 
Line 491 
  
     CIMMethod(CIMMethodRep* rep);     CIMMethod(CIMMethodRep* rep);
  
       /**
           This method is not implemented.  It is defined to explicitly disallow
           construction of a CIMMethod from a CIMConstMethod.  Because the
           CIMMethod class uses a shared representation model, allowing this
           construction would effectively allow modification of CIMConstMethod
           objects.
       */
     PEGASUS_EXPLICIT CIMMethod(const CIMConstMethod& x);     PEGASUS_EXPLICIT CIMMethod(const CIMConstMethod& x);
  
     void _checkRep() const;     void _checkRep() const;
Line 444 
Line 507 
     friend class Resolver;     friend class Resolver;
     friend class XmlWriter;     friend class XmlWriter;
     friend class MofWriter;     friend class MofWriter;
       friend class BinaryStreamer;
 }; };
  
 /** The CIMConstMethod class is used to represent CIM methods in the  /**
     same manner as the CIMMethod class except that the const attribute      The CIMConstMethod class provides a const interface to a CIMMethod
     is applied to the objects created. This class includes equivalents      object.  This class is needed because the shared representation model
     to the methods from CIMMethod that are usable in a const object including      used by CIMMethod does not prevent modification to a const CIMMethod
     constructors, (for example: getter methods) and the destructor.      object.  Note that the value of a CIMConstMethod object could still be
       modified by a CIMMethod object that refers to the same data copy.
     REVIEWERS: ATTN: Complete the explanation of why.  
     @see CIMMethod()  
 */ */
 class PEGASUS_COMMON_LINKAGE CIMConstMethod class PEGASUS_COMMON_LINKAGE CIMConstMethod
 { {
 public: public:
  
     /**  Creates a new empty CIMConstMethod object.      /**
         @see  CIMMethod()          Constructs an uninitialized CIMConstMethod 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.
     */     */
     CIMConstMethod();     CIMConstMethod();
  
     /** Creates a new CIMConstMethod object from another CIMConstMethod object.      /**
         The new CIMMethodObject references the same copy of data as teh specified object,          Constructs a CIMConstMethod object from the value of a specified
         no copy is made.          CIMConstMethod object, so that both objects refer to the same data
         @param x CIMMethod object from which to create the newCIMMethod object.          copy.
   
           <p><b>Example:</b>
         <pre>         <pre>
             CIMMethod m1(CIMName ("getHostName"), CIMTYPE_STRING);              CIMConstMethod cm1(CIMName ("getHostName"), CIMTYPE_STRING);
             const CIMMethod cm1(m1);              CIMConstMethod cm2(m1);
         </pre>         </pre>
         {@link Shared Classes}  
           @param x The CIMConstMethod object from which to construct a new
           CIMConstMethod object.
     */     */
     CIMConstMethod(const CIMConstMethod& x);     CIMConstMethod(const CIMConstMethod& x);
  
     /** Creates a new CIMConstMethod object from an      /**
         existing CIMMethod object.  Creates a pointer          Constructs a CIMConstMethod object from the value of a specified
         to the existing representation.          CIMMethod object, so that both objects refer to the same data
         @return CIMConstMethod object reference.          copy.
         @see CIMMethod()  
     */  
     CIMConstMethod(const CIMMethod& x);  
  
     /** Creates a CIMConstMethod object with the specified name and other input attributes.          <p><b>Example:</b>
         @param name CIMName defining the name for the method.          <pre>
               CIMMethod m1(CIMName ("getHostName"), CIMTYPE_STRING);
               CIMConstMethod cm1(m1);
           </pre>
  
         @param type CIMType defining method return  data type.          @param x The CIMMethod object from which to construct a new
               CIMConstMethod object.
       */
       CIMConstMethod(const CIMMethod& x);
  
         @param classOrigin (optional) CIMName representing the class origin. Note      /**
             that this should normally not be used.  If not provided set to          Constructs a CIMConstMethod object with the specified attributes.
             CIMName() (Null name).  
         @param propagated Optional flag indicating whether the definition of the  
             CIM Method is local to the CIM Class (respectively, Instance) in which  
             it appears, or was propagated without modification from the a  
             Superclass. Default is false. Note that this attribute is normally  
             not set by CIM Clients but is used internally within the CIM  
             Server.  
         <p><b>Example:</b>         <p><b>Example:</b>
         <pre>         <pre>
             CIMConstMethod m1(CIMName ("getHostName"), CIMTYPE_STRING);             CIMConstMethod m1(CIMName ("getHostName"), CIMTYPE_STRING);
         </pre>         </pre>
   
           @param name CIMName defining the name for the method.
           @param type CIMType defining the method return type.
           @param classOrigin (optional) CIMName representing the class origin.
               Note that this should normally not be used.  If not provided set to
               CIMName() (Null name).
           @param propagated Optional flag indicating whether the definition of
               the CIM Method is local to the CIM Class (respectively, Instance)
               in which it appears, or was propagated without modification from
               a superclass. Default is false. Note that this attribute is
               normally not set by CIM Clients but is used internally within the
               CIM Server.
           @exception UninitializedObjectException If the method name is null.
     */     */
     CIMConstMethod(     CIMConstMethod(
     const CIMName& name,     const CIMName& name,
Line 509 
Line 588 
     const CIMName& classOrigin = CIMName(),     const CIMName& classOrigin = CIMName(),
     Boolean propagated = false);     Boolean propagated = false);
  
     /** Destructor for the CIMConstMethod. The shared data copy remains valid until      /**
         all referring objects are destructed          Destructs the CIMConstMethod object.
         {@link Shared Classes}  
     */     */
     ~CIMConstMethod();     ~CIMConstMethod();
  
     /** The assignment operator assigns one CIMConstMethod object to another.      /**
         After the assignment, both CIMMethod objects refer to the same          Assigns the value of the specified CIMConstMethod object to this
         data copy; a distinct copy is not created.          object, so that both objects refer to the same data copy.
  
         <p><b>Example:</b>         <p><b>Example:</b>
         <pre>         <pre>
Line 525 
Line 603 
             CIMConstMethod m2;             CIMConstMethod m2;
             m2 = m1;             m2 = m1;
         </pre>         </pre>
   
           @param x The CIMConstMethod object from which to assign this
               CIMConstMethod object.
           @return A reference to this CIMConstMethod object.
     */     */
     CIMConstMethod& operator=(const CIMConstMethod& x);     CIMConstMethod& operator=(const CIMConstMethod& x);
  
     /** The assignment operator assigns a CIMMethod object to a      /**
         CIMConstMethod.          Assigns the value of the specified CIMMethod object to this
         After the assignment, both objects refer to the same          object, so that both objects refer to the same data copy.
         data copy; a distinct copy is not created.  
  
         <p><b>Example:</b>         <p><b>Example:</b>
         <pre>         <pre>
Line 539 
Line 620 
             CIMConstMethod m2;             CIMConstMethod m2;
             m2 = m1;             m2 = m1;
         </pre>         </pre>
   
           @param x The CIMMethod object from which to assign this
               CIMConstMethod object.
           @return A reference to this CIMConstMethod object.
     */     */
     CIMConstMethod& operator=(const CIMMethod& x);     CIMConstMethod& operator=(const CIMMethod& x);
  
     /** Gets the name of the method.      /**
         @return CIMName with the name of the method.          Gets the name of the method.
         <p><b>Example:</b>         <p><b>Example:</b>
         <pre>         <pre>
             CIMConstMethod m1(CIMName ("getHostName"), CIMTYPE_STRING);             CIMConstMethod m1(CIMName ("getHostName"), CIMTYPE_STRING);
             assert(m1.getName() == CIMName ("getHostName"));             assert(m1.getName() == CIMName ("getHostName"));
         </pre>         </pre>
           @return CIMName with the name of the method.
           @exception UninitializedObjectException If the object is not
               initialized.
     */     */
     const CIMName& getName() const;     const CIMName& getName() const;
  
     /** Gets the method return data type.      /**
         @return CIMType containing the method return data type for this          Gets the method return type.
         method.  
         <p><b>Example:</b>         <p><b>Example:</b>
         <pre>         <pre>
             CIMConstMethod m1(CIMName ("getHostName"), CIMTYPE_STRING);             CIMConstMethod m1(CIMName ("getHostName"), CIMTYPE_STRING);
             assert(m1.getType() == CIMTYPE_STRING);             assert(m1.getType() == CIMTYPE_STRING);
         </pre>         </pre>
           @return A CIMType containing the method return type.
           @exception UninitializedObjectException If the object is not
               initialized.
     */     */
     CIMType getType() const;     CIMType getType() const;
  
     /** Gets the class in which this method was defined. This information      /**
         is normally available with methods that are part of classes and          Gets the class in which this method was defined. This information
         instances returned from a CIM Server.          is normally available with methods that are part of a schema
         @return CIMName containing the classOrigin field.          returned from a CIM Server.
           @return CIMName containing the classOrigin attribute.
           @exception UninitializedObjectException If the object is not
               initialized.
     */     */
     const CIMName& getClassOrigin() const;     const CIMName& getClassOrigin() const;
  
     /** Tests the propagated attribute of the object.  The propagated attribute      /**
         indicates if this method was propagated from a higher level          Tests the propagated attribute of the object.  The propagated
         class.  Normally this attribute is set as part of putting          attribute indicates whether this method was propagated from a
         classes into the repository (resolving the class).  It is          higher-level class.  Normally this attribute is set as part of
         available on methods in classes read from the repository and          defining a method in the context of a schema.  It is set in
         on instances that are read from the instance repository.          methods retrieved from a CIM Server.
         @return True if method is propagated; otherwise,false.         @return True if method is propagated; otherwise,false.
           @exception UninitializedObjectException If the object is not
               initialized.
     */     */
     Boolean getPropagated() const;     Boolean getPropagated() const;
  
     /** Searches for a qualifier with the specified input name.      /**
         @param name CIMName of the qualifier to be found.          Finds a qualifier by name.
         @return Index of the qualifier found or PEG_NOT_FOUND  
         if not found.  
         <p><b>Example:</b>         <p><b>Example:</b>
         <pre>         <pre>
             CIMConstMethod m1(CIMName ("getHostName"), CIMTYPE_STRING);              CIMMethod m1(CIMName ("getHostName"), CIMTYPE_STRING);
             m1.addQualifier(CIMQualifier(CIMName ("stuff"), true));             m1.addQualifier(CIMQualifier(CIMName ("stuff"), true));
             assert(m1.findQualifier(CIMName ("stuff")) != PEG_NOT_FOUND);              CIMConstMethod m2(m1);
               assert(m2.findQualifier(CIMName ("stuff")) != PEG_NOT_FOUND);
         </pre>         </pre>
           @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;     Uint32 findQualifier(const CIMName& name) const;
  
     /** Gets the CIMQualifier defined by the input parameter.      /**
         @param index Index of the qualifier requested.          Gets the qualifier at the specified index.
         @return CIMQualifier object representing the qualifier found.  
         @exception Throws IndexOutOfBoundsException exception if the index is  
         outside the range of parameters available from the CIMMethod.  
         <p><b>Example:</b>         <p><b>Example:</b>
         <pre>         <pre>
             CIMMethod m1(CIMName ("getHostName"), CIMTYPE_STRING);             CIMMethod m1(CIMName ("getHostName"), CIMTYPE_STRING);
             m1.addQualifier(CIMQualifier(CIMName ("stuff"), true));             m1.addQualifier(CIMQualifier(CIMName ("stuff"), true));
             Uint32 posQualifier;              CIMConstMethod m2(m1);
             posQualifier = m1.findQualifier(CIMName ("stuff"));              Uint32 posQualifier = m2.findQualifier(CIMName ("stuff"));
             CIMQualifier q = m1.getQualifier(posQualifier);              if (posQualifier != PEG_NOT_FOUND)
               {
                   CIMQualifier q = m2.getQualifier(posQualifier);
               }
         </pre>         </pre>
           @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 CIMMethod.
           @exception UninitializedObjectException If the object is not
               initialized.
     */     */
     CIMConstQualifier getQualifier(Uint32 index) const;     CIMConstQualifier getQualifier(Uint32 index) const;
  
     /** Returns the number of Qualifiers attached to this CIMMethod object.      /**
         @return The number of qualifiers in the CIM Method.          Gets the number of qualifiers in the method.
         <p><b>Example:</b>         <p><b>Example:</b>
         <pre>         <pre>
             CIMConstMethod m1(CIMName ("getHostName"), CIMTYPE_STRING);              CIMMethod m1(CIMName ("getHostName"), CIMTYPE_STRING);
             assert(m1.getQualifierCount() == 0);              m1.addQualifier(CIMQualifier(CIMName ("stuff"), true));
               m1.addQualifier(CIMQualifier(CIMName ("stuff2"), true));
               CIMConstMethod m2(m1);
               assert(m2.getQualifierCount() == 2);
         </pre>         </pre>
           @return An integer count of the CIMQualifiers in the CIMMethod.
           @exception UninitializedObjectException If the object is not
               initialized.
     */     */
     Uint32 getQualifierCount() const;     Uint32 getQualifierCount() const;
  
     /** Finds the parameter with the specified name.      /**
         @param name CIMName of parameter to be found.          Finds a parameter by name.
         @return Index of the parameter object found or PEG_NOT_FOUND  
         if the property is not found.  
         <p><b>Example:</b>         <p><b>Example:</b>
         <pre>         <pre>
             Uint32 posParameter;             Uint32 posParameter;
Line 630 
Line 738 
             if (posParameter != PEG_NOT_FOUND)             if (posParameter != PEG_NOT_FOUND)
                 ...                 ...
         </pre>         </pre>
           @param name A CIMName specifying the name of the parameter to be found.
           @return Index of the parameter if found or PEG_NOT_FOUND if not found.
           @exception UninitializedObjectException If the object is not
               initialized.
     */     */
     Uint32 findParameter(const CIMName& name) const;     Uint32 findParameter(const CIMName& name) const;
  
     /** Gets the parameter defined by the specified index.      /**
         @param index Index for the parameter to be returned.          Gets the parameter at the specified index.
         @return CIMParameter object requested.  
         @exception Throws IndexOutOfBoundsException if the index is outside  
             the range of available parameters.  
         <p><b>Example:</b>         <p><b>Example:</b>
         <pre>         <pre>
             CIMConstParameter cp = m1.getParameter(m1.findParameter(CIMName ("ipaddress")));              CIMConstParameter cp;
               Uint32 parameterIndex = m1.findParameter(CIMName ("ipaddress"));
               if (parameterIndex != PEG_NOT_FOUND)
               {
                   cp = m1.getParameter(parameterIndex);
               }
         </pre>         </pre>
           @param index The index of the parameter to be retrieved.
           @return The CIMConstParameter at the specified index.
           @exception IndexOutOfBoundsException If the index is
               outside the range of parameters available for the CIMMethod.
           @exception UninitializedObjectException If the object is not
               initialized.
     */     */
     CIMConstParameter getParameter(Uint32 index) const;     CIMConstParameter getParameter(Uint32 index) const;
  
     /** Gets the count of Parameters defined in the CIMMethod.      /**
         @return Count of the number of parameters attached to the CIMMethod.          Gets the number of parameters in the method.
           @return An integer count of the CIMParameters in the CIMMethod.
           @exception UninitializedObjectException If the object is not
               initialized.
     */     */
     Uint32 getParameterCount() const;     Uint32 getParameterCount() const;
  
     /** Determines if the object has not been initialized.      /**
         @return  True if the object has not been initialized;          Determines whether the object has been initialized.
                  otherwise false.          <p><b>Example:</b>
           <pre>
               CIMConstMethod m1;
               assert(m1.isUninitialized());
           </pre>
           @return True if the object has not been initialized, false otherwise.
      */      */
     Boolean isUninitialized() const;     Boolean isUninitialized() const;
  
     /** Compares with a CIMConstMethod.      /**
         @param x CIMConstMethod object for the method to be compared.          Compares the method with another method.
         @return True if this method is identical to the one specified.  
         <p><b>Example:</b>         <p><b>Example:</b>
         <pre>         <pre>
             CIMMethod m1(CIMName ("getHostName"), CIMTYPE_STRING);              CIMConstMethod m1(CIMName ("getHostName"), CIMTYPE_STRING);
             CIMConstMethod m2(CIMName ("test"), CIMTYPE_STRING);             CIMConstMethod m2(CIMName ("test"), CIMTYPE_STRING);
             assert(!m1.identical(m2));             assert(!m1.identical(m2));
         </pre>         </pre>
           @param x The CIMConstMethod to be compared.
           @return True if this method is identical to the one specified,
               false otherwise.
           @exception UninitializedObjectException If either of the objects
               is not initialized.
     */     */
     Boolean identical(const CIMConstMethod& x) const;     Boolean identical(const CIMConstMethod& x) const;
  
     /** Makes a clone (deep copy) of this CIMConstmethod. This creates      /**
         a new copy of all of the components of the method including          Makes a deep copy of the method.  This creates a new copy
         parameters and qualifiers.          of all the method attributes including parameters and qualifiers.
         @return Independent copy of the CIMConstMethod object. Note that          @return A CIMMethod object with a separate copy of the
         it is returned as a CIMMethod, not const.              CIMConstMethod object.
           @exception UninitializedObjectException If the object is not
               initialized.
     */     */
     CIMMethod clone() const;     CIMMethod clone() const;
  


Legend:
Removed from v.1.41  
changed lines
  Added in v.1.51

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2