(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.40 and 1.53

version 1.40, 2003/11/20 14:50:46 version 1.53, 2007/05/29 17:21:06
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 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. Functions are provided to manipulate the name.          <li>A CIMName containing the name of the method
         The name must be a legal name for a CIMProperty or Method \Ref{CIMName}.          <li>A CIMType defining the method return type
         <li>CIM type of the return value of the method, a \Ref{CIMType}. This is any          <li>Zero or more CIMQualifier objects
         of the predefined CIM types (for example: Boolean);          <li>Zero or more CIMParameter objects defining the method parameters
         <li>Optional qualifiers (see \Ref{CIMQualifier}) for the method.  A method  
         can contain zero or more CIMQualifiers and functions are provided to  
         manipulate the list of CIMQualifiers.  
         <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 functions are provided in CIMMethod  
         to manipulate the list of CIMParameters.  
     </ul>     </ul>
     In addition, internally, there are the following additional attributes      In addition, a CIMMethod has these internal attributes:
     that are part of a CIMMethod including:  
     <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 as part of              within the context of the schema in which the CIMMethod is
         resolving Class and instances in the context of other 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
         repository, for example and indicates the Class/Instance in the 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>
     Normally CIMMethods are defined in the context of CIMClasses. A CIMClass can include  
     zero or more CIMMethods      <p>The CIMMethod class uses a shared representation model, such that
     CIMMethod is a shared class so that assignment and copy operators do not      multiple CIMMethod objects may refer to the same data copy.  Assignment
     create new copies of the data representing a CIMMethod object but point      and copy operators create new references to the same data, not distinct
     back to the original object and the lifecycle of the original object is      copies.  An update to a CIMMethod object affects all the CIMMethod
     controlled by the accumulative lifecycle of any copies and assigned      objects that refer to the same data copy.  The data remains valid until
     objects.      all the CIMMethod objects that refer to it are destructed.  A separate
     {@link Shared Classes}      copy of the data may be created using the clone method.
     @see CIMConstMethod  
     @see CIMParameters  
     @see CIMQualifiers  
     @see CIMType  
 */ */
 class PEGASUS_COMMON_LINKAGE CIMMethod class PEGASUS_COMMON_LINKAGE CIMMethod
 { {
 public: public:
  
     /** Creates a new default CIMMethod object. The object created is      /**
         empty.  The only thing that can be done with this constructor          Constructs an uninitialized CIMMethod object.  A method
         is to copy another object into it.  Other methods such as setName, etc.          invocation on an uninitialized object will result in the throwing
         will fail.  The object has the state unitialized which can be tested with          of an UninitializedObjectException.  An uninitialized object may
         the Unitialized method.          be converted into an initialized object only by using the assignment
         @exception throws UninitializedObjectException() if any method except the copy          operator with an initialized object.
         function is executed against.  
         @see CIMConstMethod()  
         @see Unitialized()  
     */     */
     CIMMethod();     CIMMethod();
  
     /** Creates a new CIMMethod object from another CIMmethod instance. This method      /**
         assigns the new object to the representation in the parameter and increments the          Constructs a CIMMethod object from the value of a specified
         representation count.  It does NOT create a new independent object but creates          CIMMethod object, so that both objects refer to the same data copy.
         a reference from the assigned object to the representation of the object being  
         assigned.          <p><b>Example:</b>
         @param x CIMMethod object from which to create CIMMethod object.  
         <pre>         <pre>
             CIMMethod m1(CIMName ("getHostName"), CIMTYPE_STRING);             CIMMethod m1(CIMName ("getHostName"), CIMTYPE_STRING);
             const CIMMethod cm1(m1);             const CIMMethod cm1(m1);
         </pre>         </pre>
   
           @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 parameters.      /**
         @param name CIMName defining the name for the method.          Constructs a CIMMethod object with the specified attributes.
   
         @param type CIMType defining data type of the method to be created.  
   
         @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.  
         <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 148 
Line 135 
         const CIMName& classOrigin = CIMName(),         const CIMName& classOrigin = CIMName(),
         Boolean propagated = false);         Boolean propagated = false);
  
     /** Destructor for the CIMMethod. Since this is a shared class, the destructor      /**
         only releases when there are no more objects pointing to the representation          Destructs the CIMMethod object.
         of this object.  
     */     */
     ~CIMMethod();     ~CIMMethod();
  
     /** The assignment operator assigns one CIM method to another.  This method performs      /**
         the assignment by incrementing the reference count for the representation of          Assigns the value of the specified CIMMethod object to this object,
         the CIMMethod, not by creating a deep copy of the object.          so that both objects refer to the same data copy.
   
         <p><b>Example:</b>         <p><b>Example:</b>
         <pre>         <pre>
             CIMMethod m1(CIMName ("getHostName"), CIMTYPE_STRING);             CIMMethod m1(CIMName ("getHostName"), CIMTYPE_STRING);
             CIMMethod m2 = m1;              CIMMethod m2;
               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 type.      /**
         @return The CIMType containing the method type for this method.          Gets the method return type.
         This is the type returned as the return value of a method operation.  
         <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 type to the specified CIM method type      /**
         as defined in CIMType. This is the type of the CIMValue          Sets the method return type to the specified CIMType.
         that is returned on a CIMMethod operation          This is the type of the CIMValue
         @param type CIMType to be set into the method object.          that is returned on a CIM method invocation.
         <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 available after the class containing the method has been          Gets the class in which this method is locally defined.  This
         resolved and is part of the class repository.          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 function 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 a context such as a repository.          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 UninitializedObjectException If the object is not
               initialized.
     */     */
     void setClassOrigin(const CIMName& classOrigin);     void setClassOrigin(const CIMName& classOrigin);
  
     /** Tests the propagated qualifier.  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 Propagaged 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 UninitializedObjectException If the object is not
               initialized.
     */     */
     void setPropagated(Boolean propagated);     void setPropagated(Boolean propagated);
  
     /** Adds the specified qualifier to the method and increments the      /**
         qualifier count.          Adds a qualifier to the method.
         @param x CIMQualifier object representing the qualifier  
         to be added.  
         @return the CIMMethod object after adding the specified qualifier.  
         @exception 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 Index of the qualifier found or PEG_NOT_FOUND  
         if not found.  
         <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 Index of the qualifier requested.          Gets the qualifier at the specified index.
         @return CIMQualifier object representing the qualifier found.  
         @exception 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 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 IndexOutOfBoundsException exception if the index is          <p><b>Example:</b>
             outside the range of parameters available from the CIMMethod.          <pre>
               // remove all qualifiers from a class
               Uint32 count = 0;
               while ((count = cimClass.getQualifierCount()) > 0)
                   cimClass.removeQualifier(count - 1);
           </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 in 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 320 
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>
         <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 345 
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 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 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 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.
                  false otherwise false.          <p><b>Example:</b>
           <pre>
               CIMMethod m1;
               assert(m1.isUninitialized());
           </pre>
           @return True if the object has not been initialized, false otherwise.
      */      */
     Boolean isUninitialized() const;     Boolean isUninitialized() const;
  
     /** Compares with another 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);
             CIMMethod 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 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 409 
Line 491 
  
     CIMMethod(CIMMethodRep* rep);     CIMMethod(CIMMethodRep* rep);
  
     PEGASUS_EXPLICIT CIMMethod(const CIMConstMethod& x);      /**
           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.
       */
       explicit CIMMethod(const CIMConstMethod& x);
  
     void _checkRep() const;     void _checkRep() const;
  
Line 418 
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.  
 */ */
 class PEGASUS_COMMON_LINKAGE CIMConstMethod class PEGASUS_COMMON_LINKAGE CIMConstMethod
 { {
 public: public:
  
     /**  Creates a new default 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();
  
     /// @see CIMMethod()      /**
           Constructs a CIMConstMethod object from the value of a specified
           CIMConstMethod object, so that both objects refer to the same data
           copy.
   
           <p><b>Example:</b>
           <pre>
               CIMConstMethod cm1(CIMName ("getHostName"), CIMTYPE_STRING);
               CIMConstMethod cm2(m1);
           </pre>
   
           @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()  
           <p><b>Example:</b>
           <pre>
               CIMMethod m1(CIMName ("getHostName"), CIMTYPE_STRING);
               CIMConstMethod cm1(m1);
           </pre>
   
           @param x The CIMMethod object from which to construct a new
               CIMConstMethod object.
     */     */
     CIMConstMethod(const CIMMethod& x);     CIMConstMethod(const CIMMethod& x);
  
     ///      /**
           Constructs a CIMConstMethod object with the specified attributes.
           <p><b>Example:</b>
           <pre>
               CIMConstMethod m1(CIMName ("getHostName"), CIMTYPE_STRING);
           </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,
     CIMType type,     CIMType type,
     const CIMName& classOrigin = CIMName(),     const CIMName& classOrigin = CIMName(),
     Boolean propagated = false);     Boolean propagated = false);
  
     /// destructor. CIMMethod objects are destroyed when      /**
           Destructs the CIMConstMethod object.
       */
     ~CIMConstMethod();     ~CIMConstMethod();
  
     /** assigns one CIMMethod object to another. Because this      /**
     is a shared class, an assignment does not create a copy to          Assigns the value of the specified CIMConstMethod object to this
     the assigned object but sets a refernce in the assigned object          object, so that both objects refer to the same data copy.
     to the same object as the CIMMethod object that was assigned.  
     Note that the return is really CIMConstMethod, not CIMMethod to  
     prevent unplanned modification of the object  
     @param x CIMMethod object that is to be assigned to another  
     CIMMethod object.  
     <p><b>Example:</b>     <p><b>Example:</b>
     <pre>     <pre>
     CIMMethod cm1("putthing");              CIMConstMethod m1(CIMName ("getHostName"), CIMTYPE_STRING);
               CIMConstMethod m2;
               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);
  
     /// assignment operator.      /**
           Assigns the value of the specified CIMMethod object to this
           object, so that both objects refer to the same data copy.
   
           <p><b>Example:</b>
           <pre>
               CIMMethod m1(CIMName ("getHostName"), CIMTYPE_STRING);
               CIMConstMethod m2;
               m2 = m1;
           </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 CIMMethod name. Operation is the same as      /**
         CIMMethod getName().          Gets the name of the method.
         @see CIMMethod          <p><b>Example:</b>
           <pre>
               CIMConstMethod m1(CIMName ("getHostName"), CIMTYPE_STRING);
               assert(m1.getName() == CIMName ("getHostName"));
           </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 CIMMethod CIMType. Functions the same as      /**
         CIMMethod getType();          Gets the method return type.
         @see CIMMethod          <p><b>Example:</b>
           <pre>
               CIMConstMethod m1(CIMName ("getHostName"), CIMTYPE_STRING);
               assert(m1.getType() == CIMTYPE_STRING);
           </pre>
           @return A CIMType containing the method return type.
           @exception UninitializedObjectException If the object is not
               initialized.
     */     */
     CIMType getType() const;     CIMType getType() const;
  
     /**  gets ClassOrigin attribute. Functions the same      /**
          as CIMMethod getClassOrigin()          Gets the class in which this method was defined. This information
          @see CIMMethod          is normally available with methods that are part of a 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;
  
     /**  gets Propagated attribute. Functions the same      /**
          as CIMMethod getPropagated()          Tests the propagated attribute of the object.  The propagated
          @see CIMMethod          attribute indicates whether this method was propagated from a
           higher-level class.  Normally this attribute is set as part of
           defining a method in the context of a schema.  It is set in
           methods retrieved from a CIM Server.
           @return True if method is propagated; otherwise, false.
           @exception UninitializedObjectException If the object is not
               initialized.
     */     */
     Boolean getPropagated() const;     Boolean getPropagated() const;
  
     /** finds qualifier based on name. Functions the      /**
         same as the CIMMethod findQualifier() method.          Finds a qualifier by name.
           <p><b>Example:</b>
         @see CIMMethod          <pre>
               CIMMethod m1(CIMName ("getHostName"), CIMTYPE_STRING);
               m1.addQualifier(CIMQualifier(CIMName ("stuff"), true));
               CIMConstMethod m2(m1);
               assert(m2.findQualifier(CIMName ("stuff")) != PEG_NOT_FOUND);
           </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 qualifier based on index. Functions the      /**
         same as the CIMMethod getQualifier() method.          Gets the qualifier at the specified index.
         @see CIMMethod          <p><b>Example:</b>
           <pre>
               CIMMethod m1(CIMName ("getHostName"), CIMTYPE_STRING);
               m1.addQualifier(CIMQualifier(CIMName ("stuff"), true));
               CIMConstMethod m2(m1);
               Uint32 posQualifier = m2.findQualifier(CIMName ("stuff"));
               if (posQualifier != PEG_NOT_FOUND)
               {
                   CIMQualifier q = m2.getQualifier(posQualifier);
               }
           </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;
  
     /** gets qualifier count based on name. Functions the      /**
         same as the CIMMethod getQualifierCount() method.          Gets the number of qualifiers in the method.
         @see CIMMethod          <p><b>Example:</b>
           <pre>
               CIMMethod m1(CIMName ("getHostName"), CIMTYPE_STRING);
               m1.addQualifier(CIMQualifier(CIMName ("stuff"), true));
               m1.addQualifier(CIMQualifier(CIMName ("stuff2"), true));
               CIMConstMethod m2(m1);
               assert(m2.getQualifierCount() == 2);
           </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 method parameter based on name. Functions the      /**
         same as the CIMMethod findParameter() method.          Finds a parameter by name.
         @see CIMMethod          <p><b>Example:</b>
           <pre>
               Uint32 posParameter;
               posParameter = m1.findParameter(CIMName ("ipaddress"));
               if (posParameter != PEG_NOT_FOUND)
                   ...
           </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 method parameter based on index. Functions the      /**
         same as the CIMMethod getParameter() method.          Gets the parameter at the specified index.
         @see CIMMethod          <p><b>Example:</b>
           <pre>
               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;
  
     /** finds method parameter count based on name. Functions the      /**
         same as the CIMMethod getParameterCount() method.          Gets the number of parameters in the method.
         @see CIMMethod          @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 CIMMethod is unitinitialized. Functions the      /**
         same as corresponding funtion in CIMMethod class.          Determines whether the object has been initialized.
         @see CIMMethod          <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;
  
     /** Determines if CIMMethod is identical to object define in parameter.      /**
         Functions the same as corresponding funtion in CIMMethod class.          Compares the method with another method.
         @see CIMMethod          <p><b>Example:</b>
           <pre>
               CIMConstMethod m1(CIMName ("getHostName"), CIMTYPE_STRING);
               CIMConstMethod m2(CIMName ("test"), CIMTYPE_STRING);
               assert(!m1.identical(m2));
           </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;
  
     /** clones a CIMMethod object by making a deep copy. Functions the      /**
         same as corresponding funtion in CIMMethod class.          Makes a deep copy of the method.  This creates a new copy
         @see CIMMethod          of all the method attributes including parameters and qualifiers.
           @return A CIMMethod object with a separate copy of the
               CIMConstMethod object.
           @exception UninitializedObjectException If the object is not
               initialized.
     */     */
     CIMMethod clone() const;     CIMMethod clone() const;
  


Legend:
Removed from v.1.40  
changed lines
  Added in v.1.53

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2