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 */
|