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

  1 karl  1.37 //%2003////////////////////////////////////////////////////////////////////////
  2 mike  1.17 //
  3 karl  1.37 // Copyright (c) 2000, 2001, 2002  BMC Software, Hewlett-Packard Development
  4            // Company, L. P., IBM Corp., The Open Group, Tivoli Systems.
  5            // Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L. P.;
  6            // IBM Corp.; EMC Corporation, The Open Group.
  7 mike  1.17 //
  8            // Permission is hereby granted, free of charge, to any person obtaining a copy
  9 kumpf 1.25 // of this software and associated documentation files (the "Software"), to
 10            // deal in the Software without restriction, including without limitation the
 11            // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
 12 mike  1.17 // sell copies of the Software, and to permit persons to whom the Software is
 13            // furnished to do so, subject to the following conditions:
 14            // 
 15 kumpf 1.25 // THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
 16 mike  1.17 // ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
 17            // "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
 18 kumpf 1.25 // LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
 19            // PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
 20            // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
 21 mike  1.17 // ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
 22            // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 23            //
 24            //==============================================================================
 25            //
 26            // Author: Mike Brasher (mbrasher@bmc.com)
 27            //
 28 kumpf 1.20 // Modified By: Roger Kumpf, Hewlett-Packard Company (roger_kumpf@hp.com)
 29 kumpf 1.27 //              Carol Ann Krug Graves, Hewlett-Packard Company
 30            //                (carolann_graves@hp.com)
 31 mike  1.17 //
 32            //%/////////////////////////////////////////////////////////////////////////////
 33            
 34            #ifndef Pegasus_Method_h
 35            #define Pegasus_Method_h
 36            
 37            #include <Pegasus/Common/Config.h>
 38 kumpf 1.30 #include <Pegasus/Common/Linkage.h>
 39 kumpf 1.20 #include <Pegasus/Common/String.h>
 40 kumpf 1.30 #include <Pegasus/Common/CIMName.h>
 41 kumpf 1.20 #include <Pegasus/Common/CIMParameter.h>
 42            #include <Pegasus/Common/CIMQualifier.h>
 43            #include <Pegasus/Common/CIMType.h>
 44 mike  1.17 
 45            PEGASUS_NAMESPACE_BEGIN
 46            
 47 kumpf 1.28 class Resolver;
 48 mike  1.17 class CIMConstMethod;
 49 kumpf 1.20 class CIMMethodRep;
 50 mike  1.17 
 51 karl  1.38 /** The CIMMethod class is used to represent CIM methods in Pegasus. A CIMMethod
 52 karl  1.39     consists of the following entities:
 53 karl  1.38     <ul>
 54 karl  1.39         <li>Name of the method, a CIMName. Functions are provided to manipulate the name.
 55                    The name must be a legal name for a CIMProperty or Method {@link CIMName}.
 56                    <li>CIMType of the return value of the method, a CIMType.
 57                    <li>Optional CIMQualifiers for the method. A method can contain zero or
 58                    more CIMQualifiers and functions are provided to manipulate the
 59                    list of CIMQualifiers
 60                    <li>Optional CIMParameters for the method which are the parameters to be 
 61                    placed on a CIM Method operation.  A CIMMethod can contain zero or more 
 62                    CIMParameters and functions are provided in CIMMethod to manipulate the 
 63                    list of CIMParameters.  
 64 karl  1.38     </ul>
 65                In addition, internally, there are the following additional attributes
 66                that are part of a CIMMethod.
 67                <ul>
 68                    <li>propagated - attributed defining whether this CIMMethod is 
 69 karl  1.39         propagated from a superclass.  Note that this is normally set as part of 
 70                    completing the definition of objects (resolving) when they are placed in a 
 71                    repository and is NOT automatically set when creating a local object.  It 
 72                    is part of the context of the object within the repository.  It can only 
 73                    logically be set in context of the superclass of which this CIMMethod is 
 74                    defined.  
 75                    <li>ClassOrigin - attribute defining the superclass in which this 
 76                    CIMMethod was originally defined.  This is normally set as part of 
 77                    resolving Class and instances in the context of other objects (i.e.  a 
 78                    repository).  This attribute is available from objects retrieved from the 
 79                    repository, for example and indicates the Class/Instance in the hiearchy 
 80                    (this object or a superclass or instance of a superclass)was originally 
 81                    defined.  Together the propagated and ClassOrigin attributes can be used 
 82                    to determine if methods originated with the current object or were 
 83                    inherited from higher levels in the hiearchy.  
 84 karl  1.38     </ul>
 85 karl  1.39     Normally CIMMethods are defined in the context of CIMClasses. A CIMClass can include
 86                zero or more CIMMethods
 87                CIMMethod is a shared class so that assignment and copy operators do not
 88                create new copies of the data representing a CIMMethod object but point
 89                back to the original object and the lifecycle of the original object is
 90                controlled by the accumulative lifecycle of any copies and assigned
 91                objects.
 92                {@link Shared Classes}
 93 karl  1.38     @see CIMConstMethod
 94 karl  1.39     @see CIMParameters
 95                @see CIMQualifiers
 96                @see CIMType
 97 mike  1.17 */
 98            class PEGASUS_COMMON_LINKAGE CIMMethod
 99            {
100            public:
101            
102 karl  1.38     /** Creates a new default CIMMethod object. The object created is
103 karl  1.39         empty.  The only thing that can be done with this constructor
104                    is to copy another object into it.  Other methods such as setName, etc.
105                    will fail.  The object has the state unitialized which can be tested with
106                    the Unitialized method.
107                    @exception throws UninitializedObjectException() if any method except the copy
108                    function is executed against.
109 karl  1.38         @see CIMConstMethod()
110 karl  1.39         @see Unitialized()
111 karl  1.38     */
112 kumpf 1.20     CIMMethod();
113 mike  1.17 
114 karl  1.39     /** Creates a new CIMMethod object from another CIMmethod instance. This method
115 karl  1.38         assigns the new object to the representation in the parameter and increments the
116 karl  1.39         representation count.  It does NOT create a new independent object but creates
117                    a reference from the assigned object to the representation of the object being
118                    assigned.
119                    @param x CIMMethod object from which to create CIMMethod object.
120 karl  1.38         <pre>
121                        CIMMethod m1(CIMName ("getHostName"), CIMTYPE_STRING);
122                        const CIMMethod cm1(m1);
123                    </pre>
124 mike  1.17     */
125 kumpf 1.20     CIMMethod(const CIMMethod& x);
126 mike  1.17 
127 karl  1.38     /** Creates a CIMMethod object with the specified name and other input parameters.
128                    @param name CIMName defining the name for the method.
129                    @param type CIMType defining data type of method to create. See 
130                        
131                    @param classOrigin (optional) CIMName representing the class origin. Note
132                        that this should normally not be used.  If not provided set to
133                        CIMName() (Null name).
134                    @param propagated Optional flag indicating whether the definition of the 
135                        CIM Method is local to the CIM Class (respectively, Instance) in which 
136 karl  1.39             it appears, or was propagated without modification from the a 
137                        Superclass. Default is false.
138 karl  1.38         <pre>
139 karl  1.39             CIMMethod m1(CIMName ("getHostName"), CIMTYPE_STRING);
140 karl  1.38         </pre>
141 mike  1.17     */
142                CIMMethod(
143 karl  1.38         const CIMName& name,
144                    CIMType type,
145                    const CIMName& classOrigin = CIMName(),
146                    Boolean propagated = false);
147            
148                /** Destructor for the CIMMethod. Since this is a shared class, the destructor
149 karl  1.39         is only releases when there are no more objects pointing to the representation of this
150                    object. 
151 karl  1.38     */
152 kumpf 1.20     ~CIMMethod();
153            
154 karl  1.38     /** Assignment operator. Assigns one CIM method to another.  This method performs
155                    the assignment by incrementing the reference count for the representation of
156 karl  1.39         the CIMMethod, not by creating a deep copy of the object.
157                    <pre>
158                        CIMMethod m1(CIMName ("getHostName"), CIMTYPE_STRING);
159                        CIMMethod m2 = m1;
160                    </pre>
161 karl  1.38     */
162 kumpf 1.20     CIMMethod& operator=(const CIMMethod& x);
163 mike  1.17 
164 kumpf 1.36     /** Gets the name of the method.
165 karl  1.38         @return CIMName with the name of the method.
166                    <pre>
167 karl  1.39             CIMMethod m1(CIMName ("getHostName"), CIMTYPE_STRING);
168 karl  1.38             assert(m1.getName() == CIMName ("getHostName"));
169                    </pre>
170 mike  1.17     */
171 kumpf 1.30     const CIMName& getName() const;
172 mike  1.17 
173 kumpf 1.36     /** Sets the method name.
174 karl  1.38         @param name - CIMName for the method name. Replaces any
175                        previously defined name for this method object.
176                    <pre>
177                        CIMMethod m2(CIMName ("test"), CIMTYPE_STRING);
178                        m2.setName(CIMName ("getVersion"));
179                    </pre>
180 mike  1.17     */
181 kumpf 1.30     void setName(const CIMName& name);
182 mike  1.17 
183 kumpf 1.36     /** Gets the method type.
184 karl  1.38         @return The CIMType containing the method type for this method.
185 karl  1.39         This is the type returned as the return value of a method operation.
186 karl  1.38         <pre>
187 karl  1.39             CIMMethod m1(CIMName ("getHostName"), CIMTYPE_STRING);
188 karl  1.38             assert(m1.getType() == CIMTYPE_STRING);
189                    </pre>
190 mike  1.17     */
191 kumpf 1.20     CIMType getType() const;
192 mike  1.17 
193 kumpf 1.36     /** Sets the method type to the specified CIM method type 
194 karl  1.39         as defined in CIMType. This is the type of the CIMValue
195                    that is returned on a CIMMethod operation
196 karl  1.38         @param type CIMType to be set into the method object.
197                    <pre>
198                        CIMMethod m1();
199                        m1.setName(CIMName ("getVersion"));
200                        assert(m1.setType(CIMTYPE_STRING));
201                    </pre>
202 mike  1.17     */
203 kumpf 1.20     void setType(CIMType type);
204 mike  1.17 
205 karl  1.38     /** Gets the class in which this method was defined. This information
206                    is available after the class containing the method has been
207                    resolved and is part of the class repository.
208                    @return CIMName containing the classOrigin field. 
209 mike  1.17     */
210 kumpf 1.30     const CIMName& getClassOrigin() const;
211 mike  1.17 
212 kumpf 1.36     /** Sets the ClassOrigin attribute with the classname defined on 
213 karl  1.38         the input parameter. Normally this function is used internally
214 karl  1.39         as part of the use objects containing methods (classes
215                    and instances) in a context such as a repository. 
216                    @param classOrigin - CIMName parameter defining the name
217                    of the class origin.
218 kumpf 1.20     */
219 kumpf 1.30     void setClassOrigin(const CIMName& classOrigin);
220 mike  1.17 
221 karl  1.38     /** Tests the propagated qualifier.  The propagated attribute
222                    indicates if this method was propagated from a higher level
223                    class.  Normally this attribute is set as part of putting
224                    classes into the repository (resolving the class).  It is 
225                    available on methods in classes read from the repository and
226                    on instances that are read from the instance repository.
227 kumpf 1.36         @return true if method is propagated, false otherwise.
228 kumpf 1.20     */
229                Boolean getPropagated() const;
230 mike  1.17 
231 karl  1.38     /** Sets the Propagaged Qualifier. Normally this is used by the functions
232                    that resolve classes and instances as part of the installation into
233                    a repository.
234                    @param propagated Flag indicating propagation. True means that
235                    the method was propagated from a superclass.
236 kumpf 1.36     */
237 kumpf 1.20     void setPropagated(Boolean propagated);
238 mike  1.17 
239 kumpf 1.36     /** Adds the specified qualifier to the method and increments the
240                    qualifier count. 
241                    @param x - CIMQualifier object representing the qualifier
242                    to be added.
243                    @return the CIMMethod object after adding the specified qualifier.
244                    @exception AlreadyExistsException if the qualifier already exists.
245 karl  1.38         <pre>
246                        CIMMethod m1(CIMName ("getHostName"), CIMTYPE_STRING);
247                        m1.addQualifier(CIMQualifier(CIMName ("stuff"), true));
248                    </pre>
249 mike  1.17     */
250 kumpf 1.20     CIMMethod& addQualifier(const CIMQualifier& x);
251 mike  1.17 
252 kumpf 1.36     /** Searches for a qualifier with the specified input name.
253                    @param name - CIMName of the qualifier to be found.
254                    @return Index of the qualifier found or PEG_NOT_FOUND
255                    if not found.
256 karl  1.38         <pre>
257                        CIMMethod m1(CIMName ("getHostName"), CIMTYPE_STRING);
258                        m1.addQualifier(CIMQualifier(CIMName ("stuff"), true));
259                        assert(m1.findQualifier(CIMName ("stuff")) != PEG_NOT_FOUND);
260                    </pre>
261 mike  1.17     */
262 kumpf 1.30     Uint32 findQualifier(const CIMName& name) const;
263 mike  1.17 
264 kumpf 1.36     /** Gets the CIMQualifier defined by the input parameter.
265 karl  1.38         @param index - Index of the qualifier requested.
266                    @return CIMQualifier object representing the qualifier found.
267                    @exception IndexOutOfBoundsException exception if the index is
268 kumpf 1.34         outside the range of parameters available from the CIMMethod.
269 karl  1.38         <pre>
270                        CIMMethod m1(CIMName ("getHostName"), CIMTYPE_STRING);
271                        m1.addQualifier(CIMQualifier(CIMName ("stuff"), true));
272                        Uint32 posQualifier;
273                        posQualifier = m1.findQualifier(CIMName ("stuff"));
274                        CIMQualifier q = m1.getQualifier(posQualifier);
275                    </pre>
276 mike  1.17     */
277 kumpf 1.35     CIMQualifier getQualifier(Uint32 index);
278 kumpf 1.20 
279 kumpf 1.36     /** Gets the CIMQualifier defined by the input parameter.
280 karl  1.38         @param index - Index of the qualifier requested.
281                    @return CIMConstQualifier object representing the qualifier found.
282                    @exception IndexOutOfBoundsException exception if the index is
283 kumpf 1.36         outside the range of parameters available from the CIMMethod.
284 karl  1.38         <pre>
285                        CIMMethod m1(CIMName ("getHostName"), CIMTYPE_STRING);
286                        m1.addQualifier(CIMQualifier(CIMName ("stuff"), true));
287                        
288                        Uint32 posQualifier;
289                        posQualifier = m1.findQualifier(CIMName ("stuff"));
290                        CIMQualifier q = m1.getQualifier(posQualifier);
291                    </pre>
292 kumpf 1.36     */
293 kumpf 1.35     CIMConstQualifier getQualifier(Uint32 index) const;
294 mike  1.17 
295 kumpf 1.36     /** Removes the specified CIMQualifier from this method.
296 karl  1.38         @param index - Index of the qualifier to remove.
297                    @exception IndexOutOfBoundsException exception if the index is
298                        outside the range of parameters available from the CIMMethod.
299 mike  1.17     */
300 kumpf 1.35     void removeQualifier(Uint32 index);
301 mike  1.17 
302 kumpf 1.36     /** Returns the number of Qualifiers attached to this CIMMethod object.
303                    @return the number of qualifiers in the CIM Method.
304 karl  1.38         <pre>
305                        CIMMethod m1(CIMName ("getHostName"), CIMTYPE_STRING);
306                        m1.addQualifier(CIMQualifier(CIMName ("stuff"), true));
307                        m1.addQualifier(CIMQualifier(CIMName ("stuff2"), true));
308                        assert(m1.getQualifierCount() == 2);
309                    </pre>
310 mike  1.17     */
311 kumpf 1.20     Uint32 getQualifierCount() const;
312 mike  1.17 
313 kumpf 1.36     /** Adds the parameter defined by the input to the CIMMethod.
314                    @param x - CIMParameter to be added to the CIM Method.
315                    @return CIMMethod object after the specified parameter is added.
316 karl  1.38         <pre>
317                        CIMMethod m1(CIMName ("getHostName"), CIMTYPE_STRING);
318                        m1.addParameter(CIMParameter(CIMName ("ipaddress"), CIMTYPE_STRING));
319                    </pre>
320 mike  1.17     */
321 kumpf 1.20     CIMMethod& addParameter(const CIMParameter& x);
322 mike  1.17 
323 kumpf 1.36     /** Finds the parameter with the specified name.
324 karl  1.38         @param name - Name of parameter to be found.
325 kumpf 1.36         @return Index of the parameter object found or PEG_NOT_FOUND 
326                    if the property is not found.
327 karl  1.38         <pre>
328                        Uint32 posParameter;
329                        posParameter = m1.findParameter(CIMName ("ipaddress"));
330                        if (posParameter != PEG_NOT_FOUND)
331                            ...
332                    </pre>
333 mike  1.17     */
334 kumpf 1.30     Uint32 findParameter(const CIMName& name) const;
335 mike  1.17 
336 kumpf 1.36     /** Gets the parameter defined by the specified index.
337 karl  1.38         @param index - Index for the parameter to be returned.
338                    @return CIMParameter object requested.
339                    @exception IndexOutOfBoundsException if the index is outside 
340                        the range of available parameters.
341                    <pre>
342                        CIMParameter cp = m1.getParameter(m1.findParameter(CIMName ("ipaddress")));
343                    </pre>
344 mike  1.17     */
345 kumpf 1.35     CIMParameter getParameter(Uint32 index);
346 kumpf 1.26 
347 kumpf 1.36     /** Gets the parameter defined for the specified index.
348 karl  1.38         @param index - Index for the parameter to be returned.
349                    @return CIMConstParameter object requested.
350                    @exception IndexOutOfBoundsException if the index is outside 
351                        the range of available parameters
352 kumpf 1.36     */
353 kumpf 1.35     CIMConstParameter getParameter(Uint32 index) const;
354 kumpf 1.33 
355 kumpf 1.36     /** Removes the CIMParameter defined by the specified index.
356 karl  1.38         @param index - Index of the parameter to be removed.
357                    @exception IndexOutOfBoundsException if the index is outside the
358                        range of parameters available from the CIMMethod.
359 kumpf 1.33     */
360 kumpf 1.35     void removeParameter (Uint32 index);
361 mike  1.17 
362 kumpf 1.36     /** Gets the count of Parameters defined in the CIMMethod.
363 karl  1.38         @return - count of the number of parameters attached to the CIMMethod.
364 mike  1.17     */
365 kumpf 1.20     Uint32 getParameterCount() const;
366 mike  1.17 
367 kumpf 1.36     /** Determines if the object has not been initialized.
368                    @return  true if the object has not been initialized,
369 karl  1.38                  false otherwise false.
370 kumpf 1.32      */
371                Boolean isUninitialized() const;
372 mike  1.17 
373 kumpf 1.36     /** Compares with another CIMConstMethod.
374                    @param x - CIMConstMethod object for the method to be compared.
375                    @return true if this method is identical to the one specified.
376 karl  1.38         <pre>
377                        CIMMethod m1(CIMName ("getHostName"), CIMTYPE_STRING);
378                        CIMMethod m2(CIMName ("test"), CIMTYPE_STRING);
379                        assert(!m1.identical(m2));
380                    </pre>
381 mike  1.17     */
382                Boolean identical(const CIMConstMethod& x) const;
383            
384 kumpf 1.36     /** Makes a deep copy (clone) of this method.
385                    @return copy of the CIMMethod object.
386                */
387 kumpf 1.20     CIMMethod clone() const;
388 mike  1.17 
389            private:
390            
391 kumpf 1.20     CIMMethod(CIMMethodRep* rep);
392 mike  1.17 
393                PEGASUS_EXPLICIT CIMMethod(const CIMConstMethod& x);
394            
395 kumpf 1.20     void _checkRep() const;
396 mike  1.17 
397                CIMMethodRep* _rep;
398                friend class CIMConstMethod;
399 kumpf 1.28     friend class Resolver;
400 kumpf 1.22     friend class XmlWriter;
401 kumpf 1.23     friend class MofWriter;
402 mike  1.17 };
403            
404 karl  1.38 /** The CIMConstMethod class is used to represent CIM methods in the
405                same manner as the CIMMethod class except that the const attribute
406                is applied to the objects created. This class includes equivalents
407                to the methods from CIMMethod that are usable in a const object including
408                constructors, (i.e. getter methods) and the destructor.
409                The const form of the object is used TBD
410                ATTN: Complete the explanation of why.
411            */
412 mike  1.17 class PEGASUS_COMMON_LINKAGE CIMConstMethod
413            {
414            public:
415            
416 karl  1.38     /**  Creates a new default CIMConstMethod object.
417                    @see  CIMMethod()
418                */
419 kumpf 1.20     CIMConstMethod();
420 mike  1.17 
421 karl  1.38     /// @see CIMMethod()
422 kumpf 1.20     CIMConstMethod(const CIMConstMethod& x);
423 mike  1.17 
424 karl  1.38     /** Creates a new CIMConstMethod object from an
425                    existing CIMMethod object.  Creates a pointer
426                    to the existing representation.
427                    @return CIMConstMethod object reference.
428                    @see CIMMethod()
429                */
430 kumpf 1.20     CIMConstMethod(const CIMMethod& x);
431 mike  1.17 
432 kumpf 1.36     ///
433 mike  1.17     CIMConstMethod(
434 karl  1.38     const CIMName& name,
435                CIMType type,
436                const CIMName& classOrigin = CIMName(),
437                Boolean propagated = false);
438 kumpf 1.20 
439 karl  1.39     /// destructor. CIMMethod objects are destroyed when
440 kumpf 1.20     ~CIMConstMethod();
441            
442 karl  1.39     /** assigns one CIMMethod object to another. Because this
443                is a shared class, an assignment does not create a copy to
444                the assigned object but sets a refernce in the assigned object
445                to the same object as the CIMMethod object that was assigned.
446                Note that the return is really CIMConstMethod, not CIMMethod to
447                prevent unplanned modification of the object
448                @param x CIMMethod object that is to be assigned to another
449                CIMMethod object.
450                <pre>
451                CIMMethod cm1("putthing");
452                </pre>
453                */
454 kumpf 1.20     CIMConstMethod& operator=(const CIMConstMethod& x);
455            
456 karl  1.38     /// assignment operator.
457 kumpf 1.20     CIMConstMethod& operator=(const CIMMethod& x);
458            
459 karl  1.38     /** gets CIMMethod name. Operation is the same as
460                    CIMMethod getName().
461                    @see CIMMethod
462                */
463 kumpf 1.30     const CIMName& getName() const;
464 kumpf 1.20 
465 karl  1.38     /** gets CIMMethod CIMType. Functions the same as
466                    CIMMethod getType();
467                    @see CIMMethod
468                */
469 kumpf 1.20     CIMType getType() const;
470            
471 karl  1.38     /**  gets ClassOrigin attribute. Functions the same
472                     as CIMMethod getClassOrigin()
473                     @see CIMMethod
474                */
475 kumpf 1.30     const CIMName& getClassOrigin() const;
476 kumpf 1.20 
477 karl  1.38     /**  gets Propagated attribute. Functions the same
478                     as CIMMethod getPropagated()
479                     @see CIMMethod
480                */
481 kumpf 1.20     Boolean getPropagated() const;
482            
483 karl  1.38     /** finds qualifier based on name. Functions the
484                    same as the CIMMethod findQualifier() method.
485                    
486                    @see CIMMethod
487                */
488 kumpf 1.30     Uint32 findQualifier(const CIMName& name) const;
489 kumpf 1.20 
490 karl  1.38     /** gets qualifier based on index. Functions the
491                    same as the CIMMethod getQualifier() method.
492                    @see CIMMethod
493                */
494 kumpf 1.35     CIMConstQualifier getQualifier(Uint32 index) const;
495 kumpf 1.20 
496 karl  1.38     /** gets qualifier count based on name. Functions the
497                    same as the CIMMethod getQualifierCount() method.
498                    @see CIMMethod
499                */
500 kumpf 1.20     Uint32 getQualifierCount() const;
501            
502 karl  1.38     /** finds method parameter based on name. Functions the
503                    same as the CIMMethod findParameter() method.
504                    @see CIMMethod
505                */
506 kumpf 1.30     Uint32 findParameter(const CIMName& name) const;
507 kumpf 1.20 
508 karl  1.38     /** gets method parameter based on index. Functions the
509                    same as the CIMMethod getParameter() method.
510                    @see CIMMethod
511                */
512 kumpf 1.35     CIMConstParameter getParameter(Uint32 index) const;
513 kumpf 1.20 
514 karl  1.38     /** finds method parameter count based on name. Functions the
515                    same as the CIMMethod getParameterCount() method.
516                    @see CIMMethod
517                */
518 kumpf 1.20     Uint32 getParameterCount() const;
519            
520 karl  1.38     /** Determines if CIMMethod is unitinitialized. Functions the
521                    same as corresponding funtion in CIMMethod class.
522                    @see CIMMethod
523                */
524 kumpf 1.32     Boolean isUninitialized() const;
525 kumpf 1.20 
526 karl  1.38     /** Determines if CIMMethod is identical to object define in parameter.
527                    Functions the same as corresponding funtion in CIMMethod class.
528                    @see CIMMethod
529                */
530 kumpf 1.20     Boolean identical(const CIMConstMethod& x) const;
531            
532 karl  1.38     /** clones a CIMMethod object by making a deep copy. Functions the
533                    same as corresponding funtion in CIMMethod class.
534                    @see CIMMethod
535                */
536 kumpf 1.20     CIMMethod clone() const;
537 mike  1.17 
538            private:
539            
540 kumpf 1.20     void _checkRep() const;
541 mike  1.17 
542                CIMMethodRep* _rep;
543            
544                friend class CIMMethod;
545                friend class CIMMethodRep;
546 kumpf 1.22     friend class XmlWriter;
547 kumpf 1.23     friend class MofWriter;
548 mike  1.17 };
549            
550            #define PEGASUS_ARRAY_T CIMMethod
551 kumpf 1.24 # include <Pegasus/Common/ArrayInter.h>
552 mike  1.17 #undef PEGASUS_ARRAY_T
553            
554            PEGASUS_NAMESPACE_END
555            
556            #endif /* Pegasus_Method_h */

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2