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

  1 karl  1.57 //%2006////////////////////////////////////////////////////////////////////////
  2 mike  1.18 //
  3 karl  1.52 // 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 karl  1.47 // IBM Corp.; EMC Corporation, The Open Group.
  7 karl  1.52 // Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;
  8            // IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.
  9 karl  1.54 // Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;
 10            // EMC Corporation; VERITAS Software Corporation; The Open Group.
 11 karl  1.57 // Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.;
 12            // EMC Corporation; Symantec Corporation; The Open Group.
 13 kumpf 1.34 //
 14 mike  1.18 // Permission is hereby granted, free of charge, to any person obtaining a copy
 15 kumpf 1.34 // of this software and associated documentation files (the "Software"), to
 16            // deal in the Software without restriction, including without limitation the
 17            // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
 18 mike  1.18 // sell copies of the Software, and to permit persons to whom the Software is
 19            // furnished to do so, subject to the following conditions:
 20            // 
 21 kumpf 1.34 // THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
 22 mike  1.18 // ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
 23            // "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
 24 kumpf 1.34 // LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
 25            // PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
 26            // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
 27 mike  1.18 // ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
 28            // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 29            //
 30            //==============================================================================
 31            //
 32            //%/////////////////////////////////////////////////////////////////////////////
 33            
 34            #ifndef Pegasus_Property_h
 35            #define Pegasus_Property_h
 36            
 37            #include <Pegasus/Common/Config.h>
 38 kumpf 1.39 #include <Pegasus/Common/Linkage.h>
 39            #include <Pegasus/Common/CIMName.h>
 40 kumpf 1.27 #include <Pegasus/Common/CIMValue.h>
 41 kumpf 1.25 #include <Pegasus/Common/CIMQualifier.h>
 42 mike  1.18 
 43            PEGASUS_NAMESPACE_BEGIN
 44            
 45            ////////////////////////////////////////////////////////////////////////////////
 46            //
 47            // CIMProperty
 48            //
 49            ////////////////////////////////////////////////////////////////////////////////
 50            
 51            class CIMConstProperty;
 52 kumpf 1.27 class CIMPropertyRep;
 53 kumpf 1.25 class CIMClassRep;
 54 mike  1.18 class CIMInstanceRep;
 55 dave.sudlik 1.53 class CIMQualifier;
 56                  class CIMConstQualifier;
 57 kumpf       1.37 class Resolver;
 58 mike        1.18 
 59 kumpf       1.58 /**
 60                      The CIMProperty class represents the DMTF standard CIM property definition.
 61                      A CIMProperty is generally defined in the context of a CIMClass or
 62                      CIMInstance.
 63                      A CIMProperty consists of:
 64 karl        1.49     <ul>
 65 kumpf       1.58         <li>A CIMName containing the name of the property
 66                          <li>A CIMType defining the property type
 67                          <li>A Boolean indicating whether it is an Array property
 68                          <li>A Uint32 indicating the size of the Array, if the property is an
 69                              Array property
 70                          <li>A CIMName containing the reference class name for this property,
 71                              if the property is of reference type
 72                          <li>A CIMValue specifying the property value
 73                          <li>Zero or more CIMQualifier objects
 74 karl        1.49     </ul>
 75 kumpf       1.58     In addition, a CIMProperty has these internal attributes:
 76 karl        1.49     <ul>
 77 kumpf       1.58         <li><b>propagated</b> - An attribute defining whether this CIMProperty
 78                              is propagated from a superclass.  Note that this is normally set
 79                              as part of completing the definition of objects (resolving) when
 80                              they are created as part of a CIM schema and is NOT automatically
 81                              set when creating a property object.  It can only be logically set
 82                              in context of the schema in which the CIMProperty is defined.
 83                          <li><b>classOrigin</b> - An attribute defining the class in which
 84                              this CIMProperty was originally defined.  This is normally set
 85                              within the context of the schema in which the CIMProperty is
 86                              defined.  This attribute is available from objects retrieved
 87                              from the CIM Server, for example, and provides information on
 88                              the defintion of this property in the class hierarchy.  The
 89                              propagated and ClassOrigin attributes can be used together to
 90                              determine if properties originated with this object or were
 91                              inherited from higher levels of the hiearchy.
 92 karl        1.49     </ul>
 93 kumpf       1.58 
 94                      <p>The CIMProperty class uses a shared representation model, such that
 95                      multiple CIMProperty objects may refer to the same data copy.  Assignment
 96                      and copy operators create new references to the same data, not distinct
 97                      copies.  An update to a CIMProperty object affects all the CIMProperty
 98                      objects that refer to the same data copy.  The data remains valid until
 99                      all the CIMProperty objects that refer to it are destructed.  A separate
100                      copy of the data may be created using the clone method.
101 mike        1.18 */
102 kumpf       1.25 class PEGASUS_COMMON_LINKAGE CIMProperty
103 mike        1.18 {
104                  public:
105                  
106 kumpf       1.58     /**
107                          Constructs an uninitialized CIMProperty object.  A method
108                          invocation on an uninitialized object will result in the throwing
109                          of an UninitializedObjectException.  An uninitialized object may
110                          be converted into an initialized object only by using the assignment
111                          operator with an initialized object.
112 karl        1.48     */
113 kumpf       1.25     CIMProperty();
114 mike        1.18 
115 kumpf       1.58     /**
116                          Constructs a CIMProperty object from the value of a specified
117                          CIMProperty object, so that both objects refer to the same data copy.
118                          @param x The CIMProperty object from which to construct a new
119                              CIMProperty object.
120 kumpf       1.46     */
121 kumpf       1.25     CIMProperty(const CIMProperty& x);
122 mike        1.18 
123 kumpf       1.58     /**
124                          Constructs a CIMProperty object with the specified attributes.
125                          @param name A CIMName specifying the name of the property.
126                          @param value A CIMValue specifying the property value, and implicitly
127                              defining the property type and whether the property is an Array
128                              property.
129                          @param arraySize A Uint32 indicating the size of the Array, if the
130                              property is an Array property.  The default value of zero
131                              indicates a variable size array.
132                          @param referenceClassName A CIMName containing the reference class
133                              name for this property, if the property is of reference type.
134                          @param classOrigin A CIMName indicating the class in which the
135                              property is locally defined (optional).
136                          @param propagated A Boolean indicating whether the property is local
137                              to the class or instance in which it appears or was propagated
138                              (without modification) from other schema.
139                          @exception TypeMismatchException If the property is of reference
140                              type and referenceClassName is null or if the property is not of
141                              reference type and referenceClassName is not null.
142                          @exception TypeMismatchException If the property is an Array property
143                              and arraySize is not zero.
144 kumpf       1.58         @exception UninitializedObjectException If the property name is null.
145 mike        1.18     */
146                      CIMProperty(
147 kumpf       1.46         const CIMName& name,
148                          const CIMValue& value,
149                          Uint32 arraySize = 0,
150                          const CIMName& referenceClassName = CIMName(),
151                          const CIMName& classOrigin = CIMName(),
152                          Boolean propagated = false);
153 mike        1.18 
154 kumpf       1.58     /**
155                          Destructs the CIMProperty object.
156 karl        1.48     */
157 kumpf       1.25     ~CIMProperty();
158 mike        1.18 
159 kumpf       1.58     /**
160                          Assigns the value of the specified CIMProperty object to this object,
161                          so that both objects refer to the same data copy.
162                          @param x The CIMProperty object from which to assign this CIMProperty
163                              object.
164                          @return A reference to this CIMProperty object.
165 karl        1.48     */
166 kumpf       1.25     CIMProperty& operator=(const CIMProperty& x);
167 mike        1.18 
168 kumpf       1.58     /**
169                          Gets the name of the property.
170                          @return A CIMName containing the name of the property.
171                          @exception UninitializedObjectException If the object is not
172                              initialized.
173 mike        1.18     */
174 kumpf       1.39     const CIMName& getName() const;
175 mike        1.18 
176 kumpf       1.58     /**
177                          Sets the property name.
178                          @param name A CIMName containing the new name of the property.
179                          @exception UninitializedObjectException If the object is not
180                              initialized.
181 mike        1.18     */
182 kumpf       1.39     void setName(const CIMName& name);
183 mike        1.18 
184 kumpf       1.58     /**
185                          Gets the property value.
186                          @return A CIMValue containing the property value.
187                          @exception UninitializedObjectException If the object is not
188                              initialized.
189 karl        1.48     */
190 kumpf       1.25     const CIMValue& getValue() const;
191 mike        1.18 
192 kumpf       1.58     /**
193                          Gets the property type.
194                          @return A CIMType containing the property type.
195                          @exception UninitializedObjectException If the object is not
196                              initialized.
197 karl        1.48     */
198 kumpf       1.25     CIMType getType() const;
199 mike        1.18 
200 kumpf       1.58     /**
201                          Checks whether the property is an Array property.
202                          @return True if the property is an Array property, false otherwise.
203                          @exception UninitializedObjectException If the object is not
204                              initialized.
205 karl        1.48     */
206 kumpf       1.25     Boolean isArray() const;
207 kumpf       1.21 
208 kumpf       1.58     /**
209                          Sets the property value.
210                          @param name A CIMValue containing the new value of the property.
211                          @exception UninitializedObjectException If the object is not
212                              initialized.
213 mike        1.18     */
214 kumpf       1.25     void setValue(const CIMValue& value);
215 mike        1.18 
216 kumpf       1.58     /**
217                          Gets the array size for the property.
218                          @return Uint32 array size.
219                          @exception UninitializedObjectException If the object is not
220                              initialized.
221 kumpf       1.46     */
222 kumpf       1.25     Uint32 getArraySize() const;
223 mike        1.18 
224 kumpf       1.58     /**
225                          Gets the reference class name for the property.
226                          @return A CIMName containing the reference class name for the
227                              property if the property is of reference type, a null CIMName
228                              otherwise.
229                          @exception UninitializedObjectException If the object is not
230                              initialized.
231 mike        1.18     */
232 kumpf       1.39     const CIMName& getReferenceClassName() const;
233 mike        1.18 
234 kumpf       1.58     /**
235                          Gets the class in which this property is locally defined.  This
236                          information is normally available with properties that are part of
237                          schema returned from a CIM Server.
238                          @return CIMName containing the classOrigin attribute.
239                          @exception UninitializedObjectException If the object is not
240                              initialized.
241 kumpf       1.46     */
242 kumpf       1.39     const CIMName& getClassOrigin() const;
243 mike        1.18 
244 kumpf       1.58     /**
245                          Sets the classOrigin attribute with the specified class name.
246                          Normally this method is used internally by a CIM Server when
247                          defining properties in the context of a schema.
248                          @param classOrigin A CIMName specifying the name of the class of
249                              origin for the property.
250                          @exception UninitializedObjectException If the object is not
251                              initialized.
252 mike        1.18     */
253 kumpf       1.39     void setClassOrigin(const CIMName& classOrigin);
254 mike        1.18 
255 kumpf       1.58     /**
256                          Tests the propagated attribute of the property.  The propagated
257                          attribute indicates whether this property was propagated from a
258                          higher-level class.  Normally this attribute is set as part of
259                          defining a property in the context of a schema.  It is set in
260                          properties retrieved from a CIM Server.
261                          @return True if property is propagated; otherwise, false.
262                          @exception UninitializedObjectException If the object is not
263                              initialized.
264 mike        1.19     */
265 kumpf       1.25     Boolean getPropagated() const;
266 mike        1.18 
267 kumpf       1.58     /**
268                          Sets the propagated attribute.  Normally this is used by a CIM Server
269                          when defining a property in the context of a schema.
270                          @param propagated A Boolean indicating whether the property is
271                              propagated.
272                          @exception UninitializedObjectException If the object is not
273                              initialized.
274 kumpf       1.46     */
275 kumpf       1.25     void setPropagated(Boolean propagated);
276 mike        1.18 
277 kumpf       1.58     /**
278                          Adds a qualifier to the property.
279                          @param x The CIMQualifier to be added.
280                          @return A reference to this CIMProperty object.
281                          @exception AlreadyExistsException If a qualifier with the
282                              same name already exists in the CIMProperty.
283                          @exception UninitializedObjectException If the object is not
284                              initialized.
285 mike        1.18     */
286 kumpf       1.25     CIMProperty& addQualifier(const CIMQualifier& x);
287 mike        1.18 
288 kumpf       1.58     /**
289                          Finds a qualifier by name.
290                          @param name A CIMName specifying the name of the qualifier to be found.
291                          @return Index of the qualifier if found or PEG_NOT_FOUND if not found.
292                          @exception UninitializedObjectException If the object is not
293                              initialized.
294 mike        1.18     */
295 kumpf       1.39     Uint32 findQualifier(const CIMName& name) const;
296 mike        1.18 
297 kumpf       1.58     /**
298                          Gets the qualifier at the specified index.
299                          @param index The index of the qualifier to be retrieved.
300                          @return The CIMQualifier object at the specified index.
301                          @exception IndexOutOfBoundsException If the index is
302                              outside the range of qualifiers available for the CIMProperty.
303                          @exception UninitializedObjectException If the object is not
304                              initialized.
305 mike        1.18     */
306 kumpf       1.44     CIMQualifier getQualifier(Uint32 index);
307 mike        1.18 
308 kumpf       1.58     /**
309                          Gets the qualifier at the specified index.
310                          @param index The index of the qualifier to be retrieved.
311                          @return The CIMConstQualifier object at the specified index.
312                          @exception IndexOutOfBoundsException If the index is
313                              outside the range of qualifiers available for the CIMProperty.
314                          @exception UninitializedObjectException If the object is not
315                              initialized.
316 karl        1.24     */
317 kumpf       1.44     CIMConstQualifier getQualifier(Uint32 index) const;
318 mike        1.18 
319 kumpf       1.58     /**
320                          Removes a qualifier from the property.
321                          @param index The index of the qualifier to remove.
322                          @exception IndexOutOfBoundsException If the index is
323                              outside the range of qualifiers available for the CIMProperty.
324                          @exception UninitializedObjectException If the object is not
325                              initialized.
326 mike        1.18     */
327 kumpf       1.44     void removeQualifier(Uint32 index);
328 kumpf       1.58 
329                      /**
330                          Gets the number of qualifiers in the property.
331                          @return An integer count of the qualifiers in the CIMProperty.
332                          @exception UninitializedObjectException If the object is not
333                              initialized.
334 mike        1.18     */
335 kumpf       1.25     Uint32 getQualifierCount() const;
336                  
337 kumpf       1.58     /**
338                          Compares the property with another property.
339                          @param x The CIMConstProperty to be compared.
340                          @return True if this property is identical to the one specified,
341                              false otherwise.
342                          @exception UninitializedObjectException If either of the objects
343                              is not initialized.
344 kumpf       1.25     */
345                      Boolean identical(const CIMConstProperty& x) const;
346                  
347 kumpf       1.58     /**
348                          Makes a deep copy of the property.  This creates a new copy
349                          of all the property attributes including qualifiers.
350                          @return A new copy of the CIMProperty object.
351                          @exception UninitializedObjectException If the object is not
352                              initialized.
353 kumpf       1.46     */
354 kumpf       1.42     CIMProperty clone() const;
355 kumpf       1.25 
356 kumpf       1.58     /**
357                          Determines whether the object has been initialized.
358                          @return True if the object has not been initialized, false otherwise.
359 kumpf       1.46     */
360 kumpf       1.41     Boolean isUninitialized() const;
361 mike        1.18 
362                  private:
363                  
364 kumpf       1.25     CIMProperty(CIMPropertyRep* rep);
365 mike        1.18 
366 kumpf       1.25     void _checkRep() const;
367 mike        1.18 
368                      friend class CIMConstProperty;
369                      friend class CIMClassRep;
370                      friend class CIMInstanceRep;
371 kumpf       1.37     friend class Resolver;
372 kumpf       1.30     friend class XmlWriter;
373 kumpf       1.31     friend class MofWriter;
374 schuur      1.50     friend class BinaryStreamer;
375 kumpf       1.26 
376                      CIMPropertyRep* _rep;
377 mike        1.18 };
378                  
379 kumpf       1.58 
380 mike        1.18 ////////////////////////////////////////////////////////////////////////////////
381                  //
382                  // CIMConstProperty
383                  //
384                  ////////////////////////////////////////////////////////////////////////////////
385                  
386 kumpf       1.58 /**
387                      The CIMConstProperty class provides a const interface to a CIMProperty
388                      object.  This class is needed because the shared representation model
389                      used by CIMProperty does not prevent modification to a const CIMProperty
390                      object.  Note that the value of a CIMConstProperty object could still be
391                      modified by a CIMProperty object that refers to the same data copy.
392                  */
393 mike        1.18 class PEGASUS_COMMON_LINKAGE CIMConstProperty
394                  {
395                  public:
396                  
397 kumpf       1.58     /**
398                          Constructs an uninitialized CIMConstProperty object.  A method
399                          invocation on an uninitialized object will result in the throwing
400                          of an UninitializedObjectException.  An uninitialized object may
401                          be converted into an initialized object only by using the assignment
402                          operator with an initialized object.
403 karl        1.48     */
404 kumpf       1.25     CIMConstProperty();
405 mike        1.18 
406 kumpf       1.58     /**
407                          Constructs a CIMConstProperty object from the value of a specified
408                          CIMConstProperty object, so that both objects refer to the same data
409                          copy.
410                          @param x The CIMConstProperty object from which to construct a new
411                              CIMConstProperty object.
412 karl        1.48     */
413 kumpf       1.25     CIMConstProperty(const CIMConstProperty& x);
414 mike        1.18 
415 kumpf       1.58     /**
416                          Constructs a CIMConstProperty object from the value of a specified
417                          CIMProperty object, so that both objects refer to the same data copy.
418                          @param x The CIMProperty object from which to construct a new
419                              CIMConstProperty object.
420 karl        1.48     */
421 kumpf       1.25     CIMConstProperty(const CIMProperty& x);
422 mike        1.18 
423 kumpf       1.58     /**
424                          Constructs a CIMConstProperty object with the specified attributes.
425                          @param name A CIMName specifying the name of the property.
426                          @param value A CIMValue specifying the property value, and implicitly
427                              defining the property type and whether the property is an Array
428                              property.
429                          @param arraySize A Uint32 indicating the size of the Array, if the
430                              property is an Array property.  The default value of zero
431                              indicates a variable size array.
432                          @param referenceClassName A CIMName containing the reference class
433                              name for this property, if the property is of reference type.
434                          @param classOrigin A CIMName indicating the class in which the
435                              property is locally defined (optional).
436                          @param propagated A Boolean indicating whether the property is local
437                              to the class or instance in which it appears or was propagated
438                              (without modification) from other schema.
439                          @exception TypeMismatchException If the property is of reference
440                              type and referenceClassName is null or if the property is not of
441                              reference type and referenceClassName is not null.
442                          @exception TypeMismatchException If the property is an Array property
443                              and arraySize is not zero.
444 kumpf       1.58         @exception UninitializedObjectException If the property name is null.
445 karl        1.48     */
446 mike        1.18     CIMConstProperty(
447 kumpf       1.46         const CIMName& name,
448                          const CIMValue& value,
449                          Uint32 arraySize = 0,
450                          const CIMName& referenceClassName = CIMName(),
451                          const CIMName& classOrigin = CIMName(),
452                          Boolean propagated = false);
453 kumpf       1.25 
454 kumpf       1.58     /**
455                          Destructs the CIMConstProperty object.
456 karl        1.48     */
457 kumpf       1.25     ~CIMConstProperty();
458                  
459 kumpf       1.58     /**
460                          Assigns the value of the specified CIMConstProperty object to this
461                          object, so that both objects refer to the same data copy.
462                          @param x The CIMConstProperty object from which to assign this
463                              CIMConstProperty object.
464                          @return A reference to this CIMConstProperty object.
465 karl        1.48     */
466 kumpf       1.25     CIMConstProperty& operator=(const CIMConstProperty& x);
467                  
468 kumpf       1.58     /**
469                          Assigns the value of the specified CIMProperty object to this
470                          object, so that both objects refer to the same data copy.
471                          @param x The CIMProperty object from which to assign this
472                              CIMConstProperty object.
473                          @return A reference to this CIMConstProperty object.
474 karl        1.48     */
475 kumpf       1.25     CIMConstProperty& operator=(const CIMProperty& x);
476                  
477 kumpf       1.58     /**
478                          Gets the name of the property.
479                          @return A CIMName containing the name of the property.
480                          @exception UninitializedObjectException If the object is not
481                              initialized.
482 karl        1.48     */
483 kumpf       1.39     const CIMName& getName() const;
484 kumpf       1.25 
485 kumpf       1.58     /**
486                          Gets the property value.
487                          @return A CIMValue containing the property value.
488                          @exception UninitializedObjectException If the object is not
489                              initialized.
490 karl        1.48     */
491 kumpf       1.25     const CIMValue& getValue() const;
492                  
493 kumpf       1.58     /**
494                          Gets the property type.
495                          @return A CIMType containing the property type.
496                          @exception UninitializedObjectException If the object is not
497                              initialized.
498 karl        1.48     */
499 kumpf       1.25     CIMType getType() const;
500                  
501 kumpf       1.58     /**
502                          Checks whether the property is an Array property.
503                          @return True if the property is an Array property, false otherwise.
504                          @exception UninitializedObjectException If the object is not
505                              initialized.
506 karl        1.48     */
507 kumpf       1.25     Boolean isArray() const;
508                  
509 kumpf       1.58     /**
510                          Gets the array size for the property.
511                          @return Uint32 array size.
512                          @exception UninitializedObjectException If the object is not
513                              initialized.
514 karl        1.48     */
515 kumpf       1.25     Uint32 getArraySize() const;
516                  
517 kumpf       1.58     /**
518                          Gets the reference class name for the property.
519                          @return A CIMName containing the reference class name for the
520                              property if the property is of reference type, a null CIMName
521                              otherwise.
522                          @exception UninitializedObjectException If the object is not
523                              initialized.
524 karl        1.48     */
525 kumpf       1.39     const CIMName& getReferenceClassName() const;
526 kumpf       1.25 
527 kumpf       1.58     /**
528                          Gets the class in which this property is locally defined.  This
529                          information is normally available with properties that are part of
530                          schema returned from a CIM Server.
531                          @return CIMName containing the classOrigin attribute.
532                          @exception UninitializedObjectException If the object is not
533                              initialized.
534 karl        1.48     */
535 kumpf       1.39     const CIMName& getClassOrigin() const;
536 kumpf       1.25 
537 kumpf       1.58     /**
538                          Tests the propagated attribute of the object.  The propagated
539                          attribute indicates whether this property was propagated from a
540                          higher-level class.  Normally this attribute is set as part of
541                          defining a property in the context of a schema.  It is set in
542                          properties retrieved from a CIM Server.
543                          @return True if property is propagated; otherwise, false.
544                          @exception UninitializedObjectException If the object is not
545                              initialized.
546 karl        1.48     */
547 kumpf       1.25     Boolean getPropagated() const;
548                  
549 kumpf       1.58     /**
550                          Finds a qualifier by name.
551                          @param name A CIMName specifying the name of the qualifier to be found.
552                          @return Index of the qualifier if found or PEG_NOT_FOUND if not found.
553                          @exception UninitializedObjectException If the object is not
554                              initialized.
555 karl        1.48     */
556 kumpf       1.39     Uint32 findQualifier(const CIMName& name) const;
557 kumpf       1.25 
558 kumpf       1.58     /**
559                          Gets the qualifier at the specified index.
560                          @param index The index of the qualifier to be retrieved.
561                          @return The CIMConstQualifier object at the specified index.
562                          @exception IndexOutOfBoundsException If the index is outside
563                              the range of qualifiers available for the CIMConstProperty.
564                          @exception UninitializedObjectException If the object is not
565                              initialized.
566 karl        1.48     */
567 kumpf       1.44     CIMConstQualifier getQualifier(Uint32 index) const;
568 kumpf       1.25 
569 kumpf       1.58     /**
570                          Gets the number of qualifiers in the property.
571                          @return An integer count of the qualifiers in the CIMConstProperty.
572                          @exception UninitializedObjectException If the object is not
573                              initialized.
574 karl        1.48     */
575 kumpf       1.25     Uint32 getQualifierCount() const;
576                  
577 kumpf       1.58     /**
578                          Compares the property with another property.
579                          @param x The CIMConstProperty to be compared.
580                          @return True if this property is identical to the one specified,
581                              false otherwise.
582                          @exception UninitializedObjectException If either of the objects
583                              is not initialized.
584 karl        1.48     */
585 kumpf       1.25     Boolean identical(const CIMConstProperty& x) const;
586                  
587 kumpf       1.58     /**
588                          Makes a deep copy of the property.  This creates a new copy
589                          of all the property attributes including qualifiers.
590                          @return A CIMProperty object with a separate copy of the
591                              CIMConstProperty object.
592                          @exception UninitializedObjectException If the object is not
593                              initialized.
594 karl        1.48     */
595 kumpf       1.42     CIMProperty clone() const;
596 kumpf       1.25 
597 kumpf       1.58     /**
598                          Determines whether the object has been initialized.
599                          @return True if the object has not been initialized, false otherwise.
600                      */
601 kumpf       1.41     Boolean isUninitialized() const;
602 mike        1.18 
603                  private:
604                  
605 kumpf       1.25     void _checkRep() const;
606 mike        1.18 
607                      CIMPropertyRep* _rep;
608                  
609                      friend class CIMProperty;
610                      friend class CIMPropertyRep;
611 kumpf       1.30     friend class XmlWriter;
612 kumpf       1.31     friend class MofWriter;
613 mike        1.18 };
614                  
615                  #define PEGASUS_ARRAY_T CIMProperty
616 kumpf       1.33 # include <Pegasus/Common/ArrayInter.h>
617 mike        1.18 #undef PEGASUS_ARRAY_T
618                  
619                  PEGASUS_NAMESPACE_END
620                  
621                  #endif /* Pegasus_Property_h */

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2