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

  1 karl  1.32 //%2006////////////////////////////////////////////////////////////////////////
  2 chip  1.1  //
  3 karl  1.29 // 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.22 // IBM Corp.; EMC Corporation, The Open Group.
  7 karl  1.29 // 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.30 // Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;
 10            // EMC Corporation; VERITAS Software Corporation; The Open Group.
 11 karl  1.32 // Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.;
 12            // EMC Corporation; Symantec Corporation; The Open Group.
 13 chip  1.1  //
 14            // Permission is hereby granted, free of charge, to any person obtaining a copy
 15            // 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            // 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 kumpf 1.6  // 
 21 chip  1.1  // THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
 22            // 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            // 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            // 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 kumpf 1.2  #ifndef Pegasus_ObjectPath_h
 35            #define Pegasus_ObjectPath_h
 36 chip  1.1  
 37            #include <Pegasus/Common/Config.h>
 38 kumpf 1.9  #include <Pegasus/Common/Linkage.h>
 39 kumpf 1.2  #include <Pegasus/Common/String.h>
 40 kumpf 1.9  #include <Pegasus/Common/CIMName.h>
 41 kumpf 1.2  #include <Pegasus/Common/Array.h>
 42            #include <Pegasus/Common/Exception.h>
 43            
 44 chip  1.1  PEGASUS_NAMESPACE_BEGIN
 45            
 46 kumpf 1.2  class CIMObjectPath;
 47 kumpf 1.15 class CIMKeyBindingRep;
 48 kumpf 1.2  class CIMObjectPathRep;
 49 kumpf 1.17 class CIMValue;
 50 kumpf 1.2  
 51 kumpf 1.33 /**
 52                The CIMKeyBinding class associates a key name, value, and type.
 53                It is used to represent a key binding in a CIMObjectPath.
 54 kumpf 1.2  */
 55 kumpf 1.15 class PEGASUS_COMMON_LINKAGE CIMKeyBinding
 56 kumpf 1.2  {
 57            public:
 58            
 59                enum Type { BOOLEAN, STRING, NUMERIC, REFERENCE };
 60            
 61 kumpf 1.33     /**
 62                    Constructs a CIMKeyBinding object with null values.
 63                */
 64 kumpf 1.15     CIMKeyBinding();
 65 kumpf 1.2  
 66 kumpf 1.33     /**
 67                    Constructs a CIMKeyBinding object from the value of a specified
 68                    CIMKeyBinding object.
 69                    @param x The CIMKeyBinding object from which to construct a new
 70                        CIMKeyBinding object.
 71 karl  1.23     */
 72 kumpf 1.15     CIMKeyBinding(const CIMKeyBinding& x);
 73 kumpf 1.2  
 74 kumpf 1.33     /**
 75                    Constructs a CIMKeyBinding with a name, value, and type.
 76                    @param name A CIMName containing the key name.
 77                    @param value A String value for this key.
 78                    @param type A CIMKeyBinding::Type specifying the type of this key.
 79 kumpf 1.2      */
 80 kumpf 1.15     CIMKeyBinding(const CIMName& name, const String& value, Type type);
 81 kumpf 1.2  
 82 kumpf 1.33     /**
 83                    Constructs a CIMKeyBinding with a key name and CIMValue.  The key
 84                    value and type are taken from the CIMValue.  CIM types are converted
 85                    to key binding types using this mapping:
 86            
 87                    <pre>
 88                    boolean - BOOLEAN
 89                    uint8 - NUMERIC
 90                    sint8 - NUMERIC
 91                    uint16 - NUMERIC
 92                    sint16 - NUMERIC
 93                    uint32 - NUMERIC
 94                    sint32 - NUMERIC
 95                    uint64 - NUMERIC
 96                    sint64 - NUMERIC
 97                    real32 - NUMERIC
 98                    real64 - NUMERIC
 99                    char16 - STRING
100                    string - STRING
101                    datetime - STRING
102                    reference - REFERENCE
103 kumpf 1.33         </pre>
104            
105                    A value of type CIMTYPE_OBJECT cannot be used in a key binding.
106            
107                    @param name A CIMName containing the key name.
108                    @param value A CIMValue specifying the value and type of this key.
109                    @exception TypeMismatchException If the type is not a valid key type,
110                        false otherwise.
111 kumpf 1.17     */
112                CIMKeyBinding(const CIMName& name, const CIMValue& value);
113            
114 kumpf 1.33     /**
115                    Destructs the CIMKeyBinding object.
116 karl  1.23     */
117 kumpf 1.15     ~CIMKeyBinding();
118 kumpf 1.2  
119 kumpf 1.33     /**
120                    Assigns the value of the specified CIMKeyBinding object to this object.
121                    @param x The CIMKeyBinding object from which to assign this
122                        CIMKeyBinding object.
123                    @return A reference to this CIMKeyBinding object.
124 karl  1.23     */
125 kumpf 1.15     CIMKeyBinding& operator=(const CIMKeyBinding& x);
126 kumpf 1.2  
127 kumpf 1.33     /**
128                    Gets the key name for the key binding.
129                    @return A CIMName containing the key name.
130 karl  1.23     */
131 kumpf 1.9      const CIMName& getName() const;
132 kumpf 1.2  
133 kumpf 1.33     /**
134                    Sets the key name for the key binding.
135                    @param name A CIMName containing the key name.
136 karl  1.23     */
137 kumpf 1.9      void setName(const CIMName& name);
138 kumpf 1.2  
139 kumpf 1.33     /**
140                    Gets the key value for the key binding.
141                    @return A String containing the key value.
142 karl  1.23     */
143 kumpf 1.2      const String& getValue() const;
144            
145 kumpf 1.33     /**
146                    Sets the key value for the key binding.
147                    @param value A String containing the key value.
148 karl  1.23     */
149 kumpf 1.2      void setValue(const String& value);
150            
151 kumpf 1.33     /**
152                    Gets the key type for the key binding.
153                    @return A CIMKeyBinding::Type containing the key type.
154 karl  1.23     */
155 kumpf 1.2      Type getType() const;
156            
157 kumpf 1.33     /**
158                    Sets the key type for the key binding.
159                    @param type A CIMKeyBinding::Type containing the key type.
160 karl  1.23     */
161 kumpf 1.2      void setType(Type type);
162 kumpf 1.17 
163 kumpf 1.33     /**
164                    Compares the value and type of the key binding with a specified
165                    CIMValue.
166                    @param value The CIMValue to be compared.
167                    @return True if the value and type of the key binding are the same as
168                        the specified CIMValue, false otherwise.
169 karl  1.23     */
170 kumpf 1.17     Boolean equal(CIMValue value);
171 kumpf 1.2  
172            private:
173            
174 a.arora 1.26     CIMKeyBindingRep* _rep;
175 kumpf   1.2  
176                  friend class CIMObjectPath;
177              };
178              
179 kumpf   1.33 /**
180                  Compares two key bindings for equality.
181                  @param x The first CIMKeyBinding to be compared.
182                  @param y The second CIMKeyBinding to be compared.
183                  @return True if the names, values, and types of the two key bindings are
184                      equivalent, false otherwise.
185              */
186 kumpf   1.2  PEGASUS_COMMON_LINKAGE Boolean operator==(
187 kumpf   1.15     const CIMKeyBinding& x,
188                  const CIMKeyBinding& y);
189 kumpf   1.2  
190 kumpf   1.15 #define PEGASUS_ARRAY_T CIMKeyBinding
191 kumpf   1.4  # include <Pegasus/Common/ArrayInter.h>
192 kumpf   1.2  #undef PEGASUS_ARRAY_T
193              
194              class XmlWriter;
195              
196 kumpf   1.33 /**
197                  The CIMObjectPath class represents the DMTF standard CIM object name or
198                  reference.  A reference is a property type that is used in an association.
199                  Consider this MOF example:
200 kumpf   1.2  
201                  <pre>
202                  [Association]
203                  class MyAssociations
204                  {
205                      MyClass ref from;
206                      MyClass ref to;
207                  };
208                  </pre>
209              
210 kumpf   1.33     The value of the "from" and "to" properties are represented using a
211                  CIMObjectPath.
212 kumpf   1.2  
213 kumpf   1.21     A CIM reference is used to uniquely identify a CIM class or CIM instance
214 kumpf   1.33     object.  A CIMObjectPath consists of:
215 kumpf   1.2  
216                  <ul>
217 kumpf   1.21     <li>Host - name of host that contains the object</li>
218 kumpf   1.2      <li>NameSpace - the namespace which contains the object</li>
219                  <li>ClassName - name of objects class</li>
220                  <li>KeyBindings key/value pairs which uniquely identify an instance</li>
221                  </ul>
222              
223                  CIM references may also be expressed as simple strings (as opposed to
224                  being represented by the CIMObjectPath class). This string is known as
225                  the "Object Name". An object name has the following form:
226              
227                  <pre>
228                  &lt;namespace-path&gt;:&lt;model-path&gt;
229                  </pre>
230              
231                  As for the model-path mentioned above, its form is defined by the CIM
232                  Standard (more is defined by the "XML Mapping Specification v2.0.0"
233                  specification) as follows:
234              
235                  <pre>
236              
237                  &lt;Qualifyingclass&gt;.&lt;key-1&gt;=&lt;value-1&gt;[,&lt;key-n&gt;=
238                  &lt;value-n&gt;]*
239 kumpf   1.2      </pre>
240              
241                  For example:
242              
243                  <pre>
244                  TennisPlayer.first="Patrick",last="Rafter"
245                  </pre>
246              
247 karl    1.23     This presupposes the existence of a class called "TennisPlayer"
248 kumpf   1.2      that has key properties named "first" and "last". For example, here is what
249                  the MOF might look like:
250              
251                  <pre>
252                  class TennisPlayer : Person
253                  {
254                      [key] string first;
255                      [key] string last;
256                  };
257                  </pre>
258              
259                  All keys must be present in the model path.
260              
261                  Now the namespace-type and model-path are combined in the following
262                  string object name.
263              
264                  //atp:9999/root/cimv25:TennisPlayer.first="Patrick",last="Rafter"
265              
266                  Now suppose we wish to create a CIMObjectPath from this above string. There
267                  are two constructors provided: one which takes the above string and the
268                  other that takes the constituent elements. Here are the signature of the
269 kumpf   1.2      two constructors:
270              
271                  <pre>
272                  CIMObjectPath(const String& objectName);
273              
274                  CIMObjectPath(
275                      const String& host,
276 kumpf   1.9          const CIMNamespaceName& nameSpace,
277                      const CIMName& className,
278 kumpf   1.15         const Array<CIMKeyBinding>& keyBindings);
279 kumpf   1.2      </pre>
280              
281                  Following our example, the above object name may be used to initialize
282                  a CIMObjectPath like this:
283              
284                      <pre>
285                      CIMObjectPath ref =
286                          "//atp:9999/root/cimv25:TennisPlayer.first="Patrick",last="Rafter";
287                      </pre>
288              
289                  A CIMObjectPath may also be initialized using the constituent elements
290                  of the object name (sometimes the object name is not available as a string:
291                  this is the case with CIM XML encodings). The arguments shown in that
292                  constructor above correspond elements of the object name in the following
293                  way:
294              
295                  <ul>
296                  <li>host = "atp:9999"</li>
297                  <li>nameSpace = "root/cimv25"</li>
298                  <li>className = "TennisPlayer"</li>
299                  <li>keyBindings = "first=\"Patrick\",last=\"Rafter\""</li>
300 kumpf   1.2      </ul>
301              
302                  Note that the host and nameSpace argument may be empty since object names
303                  need not necessarily include a namespace path according to the standard.
304              
305 kumpf   1.15     The key bindings must be built up by appending CIMKeyBinding objects
306                  to an Array of CIMKeyBindings like this:
307 kumpf   1.2  
308                  <pre>
309 kumpf   1.15     Array<CIMKeyBinding> keyBindings;
310 kumpf   1.34     keyBindings.append(
311                      CIMKeyBinding("first", "Patrick", CIMKeyBinding::STRING));
312 kumpf   1.15     keyBindings.append(CIMKeyBinding("last", "Rafter", CIMKeyBinding::STRING));
313 kumpf   1.2      </pre>
314              
315                  Notice that the keys in the object name may appear in any order.
316                  That is the following object names refer to the same object:
317              
318                  <pre>
319                  TennisPlayer.first="Patrick",last="Rafter"
320                  TennisPlayer.last="Rafter",first="Patrick"
321                  </pre>
322              
323                  And since CIM is not case sensitive, the following refer to the same
324                  object:
325              
326                  <pre>
327                  TennisPlayer.first="Patrick",last="Rafter"
328                  tennisplayer.FIRST="Patrick",Last="Rafter"
329                  </pre>
330              
331                  Therefore, the CIMObjectPaths::operator==() would return true for the last
332                  two examples.
333              
334 kumpf   1.2      The CIM standard leaves it an open question whether model paths may have
335                  spaces around delimiters (like '.', '=', and ','). We assume they cannot.
336                  So the following is an invalid model path:
337              
338                  <pre>
339                  TennisPlayer . first = "Patrick", last="Rafter"
340                  </pre>
341              
342                  We require that the '.', '=', and ',' have no spaces around them.
343              
344                  For reasons of efficiency, the key bindings are internally sorted
345                  during initialization. This allows the key bindings to be compared
346                  more easily. This means that when the string is converted back to
347                  string (by calling toString()) that the keys may have been rearranged.
348              
349                  There are two forms an object name can take:
350              
351                  <pre>
352                  &lt;namespace-path&gt;:&lt;model-path&gt;
353                  &lt;model-path&gt;
354                  </pre>
355 kumpf   1.2  
356                  In other words, the namespace-path is optional. Here is an example of
357                  each:
358              
359                  <pre>
360                  //atp:9999/root/cimv25:TennisPlayer.first="Patrick",last="Rafter"
361                  TennisPlayer.first="Patrick",last="Rafter"
362                  </pre>
363              
364                  If it begins with "//" then we assume the namespace-path is present and
365                  process it that way.
366              
367                  It should also be noted that an object name may refer to an instance or
368                  a class. Here is an example of each:
369              
370                  <pre>
371                  TennisPlayer.first="Patrick",last="Rafter"
372                  TennisPlayer
373                  </pre>
374              
375                  In the second case--when it refers to a class--the key bindings are
376 kumpf   1.2      omitted.
377              */
378              class PEGASUS_COMMON_LINKAGE CIMObjectPath
379              {
380              public:
381              
382 kumpf   1.33     /**
383                      Constructs a CIMObjectPath object with null values.
384 karl    1.23     */
385 kumpf   1.2      CIMObjectPath();
386              
387 kumpf   1.33     /**
388                      Constructs a CIMObjectPath object from the value of a specified
389                      CIMObjectPath object.
390                      @param x The CIMObjectPath object from which to construct a new
391                          CIMObjectPath object.
392 karl    1.23     */
393 kumpf   1.2      CIMObjectPath(const CIMObjectPath& x);
394              
395 kumpf   1.33     /**
396                      Constructs a CIMObjectPath from a CIM object name in String form.
397                      <p><b>Example:</b>
398                      <pre>
399 kumpf   1.2              CIMObjectPath r1 = "MyClass.z=true,y=1234,x=\"Hello World\"";
400 kumpf   1.33         </pre>
401                      @param objectName A String representation of the object name.
402                      @exception MalformedObjectNameException If the String does not contain
403                          a properly formed object name.
404 kumpf   1.2      */
405                  CIMObjectPath(const String& objectName);
406              
407 kumpf   1.33     /**
408                      Constructs a CIMObjectPath object with the specified attributes.
409                      @param host A String containing the host name (e.g., "nemesis:5988").
410                          An empty String indicates that the object path does not contain
411                          a host name attribute.
412                      @param nameSpace A CIMNamespaceName specifying the namespace name.
413                          A null name indicates that the object path does not contain
414                          a namespace attribute.
415                      @param nameSpace A CIMName specifying the class name.
416                      @param keyBindings An Array of CIMKeyBinding objects specifying the
417                          key bindings.
418                      @exception MalformedObjectNameException If the host name String
419                          contains an improperly formed host name.
420 kumpf   1.2      */
421                  CIMObjectPath(
422                      const String& host,
423 kumpf   1.9          const CIMNamespaceName& nameSpace,
424                      const CIMName& className,
425 kumpf   1.15         const Array<CIMKeyBinding>& keyBindings = Array<CIMKeyBinding>());
426 kumpf   1.2  
427 kumpf   1.33     /**
428                      Destructs the CIMObjectPath object.
429 karl    1.23     */
430 kumpf   1.2      ~CIMObjectPath();
431              
432 kumpf   1.33     /**
433                      Assigns the value of the specified CIMObjectPath object to this object.
434                      @param x The CIMObjectPath object from which to assign this
435                          CIMObjectPath object.
436                      @return A reference to this CIMObjectPath object.
437                  */
438 kumpf   1.2      CIMObjectPath& operator=(const CIMObjectPath& x);
439              
440 kumpf   1.33     /**
441                      Resets the attributes of the object path to null values.
442                      The result is equivalent to using the default constructor.
443 kumpf   1.2      */
444                  void clear();
445              
446 kumpf   1.33     /**
447                      Sets the CIMObjectPath with the specified attributes.
448                      @param host A String containing the host name (e.g., "nemesis:5988").
449                          An empty String indicates that the object path does not contain
450                          a host name attribute.
451                      @param nameSpace A CIMNamespaceName specifying the namespace name.
452                          A null name indicates that the object path does not contain
453                          a namespace attribute.
454                      @param nameSpace A CIMName specifying the class name.
455                      @param keyBindings An Array of CIMKeyBinding objects specifying the
456                          key bindings.
457                      @exception MalformedObjectNameException If the host name String
458                          contains an improperly formed host name.
459 kumpf   1.2      */
460                  void set(
461                      const String& host,
462 kumpf   1.9          const CIMNamespaceName& nameSpace,
463                      const CIMName& className,
464 kumpf   1.15         const Array<CIMKeyBinding>& keyBindings = Array<CIMKeyBinding>());
465 kumpf   1.2  
466 kumpf   1.33     /**
467                      Sets the CIMObjectPath from a CIM object name in String form.
468                      @param objectName A String representation of the object name.
469                      @exception MalformedObjectNameException If the String does not contain
470                          a properly formed object name.
471 karl    1.23     */
472 kumpf   1.21     void set(const String& objectName);
473 kumpf   1.2  
474 kumpf   1.33     /**
475                      Sets the CIMObjectPath from a CIM object name in String form.
476                      @param objectName A String representation of the object name.
477                      @exception MalformedObjectNameException If the String does not contain
478                          a properly formed object name.
479 karl    1.23     */
480 kumpf   1.2      CIMObjectPath& operator=(const String& objectName);
481              
482 kumpf   1.33     /**
483                      Gets the host name for the object path.
484                      @return A String containing the host name.
485 kumpf   1.2      */
486                  const String& getHost() const;
487              
488 kumpf   1.33     /**
489                      Sets the host name for the object path.
490                      <p><b>Example:</b>
491                      <pre>
492 kumpf   1.2          CIMObjectPath r1;
493                      r1.setHost("fred:5988");
494 kumpf   1.33         </pre>
495                      @param host A String containing the host name.
496                      @exception MalformedObjectNameException If the host name String
497                          contains an improperly formed host name.
498 kumpf   1.2      */
499                  void setHost(const String& host);
500              
501 kumpf   1.33     /**
502                      Gets the namespace name for the object path.
503                      @return A CIMNamespaceName containing the namespace name.
504 kumpf   1.2      */
505 kumpf   1.9      const CIMNamespaceName& getNameSpace() const;
506 kumpf   1.2  
507 kumpf   1.33     /**
508                      Sets the namespace name for the object path.
509                      @param nameSpace A CIMNamespaceName containing the namespace name.
510 kumpf   1.2      */
511 kumpf   1.9      void setNameSpace(const CIMNamespaceName& nameSpace);
512 kumpf   1.2  
513 kumpf   1.33     /**
514                      Gets the class name for the object path.
515                      @return A CIMName containing the class name.
516                  */
517 kumpf   1.9      const CIMName& getClassName() const;
518 kumpf   1.2  
519 kumpf   1.33     /**
520                      Sets the class name for the object path.
521                      @param className A CIMName containing the class name.
522 kumpf   1.2      */
523 kumpf   1.9      void setClassName(const CIMName& className);
524 kumpf   1.2  
525 kumpf   1.33     /**
526                      Gets the key bindings for the object path.
527                      @return An Array of CIMKeyBinding objects containing the key bindings.
528 kumpf   1.2      */
529 kumpf   1.15     const Array<CIMKeyBinding>& getKeyBindings() const;
530 kumpf   1.2  
531 kumpf   1.33     /**
532                      Sets the key bindings for the object path.
533                      @param keyBindings An Array of CIMKeyBinding objects containing the
534                          key bindings.
535 kumpf   1.2      */
536 kumpf   1.15     void setKeyBindings(const Array<CIMKeyBinding>& keyBindings);
537 kumpf   1.2  
538 kumpf   1.33     /**
539                      Generates a String form of the object path.
540                      The format is:
541 kumpf   1.7  
542 kumpf   1.33         <pre>
543 kumpf   1.21             "//" + hostname + "/" + namespace + ":" + classname +"." +
544                          (keyname) + "=" (keyvalue) +"," ...
545 kumpf   1.33         </pre>
546              
547                      Special characters are escaped in the resulting String.
548 kumpf   1.2  
549 kumpf   1.33         @return A String form of the object path.
550                      @exception UninitializedObjectException If the class name attribute
551                          of the object path is null.
552 kumpf   1.2      */
553 kumpf   1.14     String toString() const;
554 kumpf   1.2  
555 kumpf   1.33     /**
556                      Compares the CIMObjectPath with a specified CIMObjectPath.
557                      Comparisons of CIM names are case-insensitive, per the CIM
558                      specification.
559                      @param x The CIMObjectPath to be compared.
560                      @return True if this object is identical to the one specified,
561                          false otherwise.
562 kumpf   1.2      */
563                  Boolean identical(const CIMObjectPath& x) const;
564              
565 kumpf   1.33     /**
566                      Generates a hash code for the object path.  Identical references
567                      generate the same hash code (despite insignificant differences such as
568                      the case of names and the order of the key bindings).
569 kumpf   1.2      */
570                  Uint32 makeHashCode() const;
571              
572              private:
573              
574 kumpf   1.33     /**
575                      Generates a canonical String form of the object path (in which key
576                      bindings are sorted and classnames and keynames are converted to
577                      lower case).
578                      @return A canonical String form of the object path.
579                      @exception UninitializedObjectException If the class name attribute
580                          of the object path is null.
581 kumpf   1.13     */
582 kumpf   1.14     String _toStringCanonical() const;
583 kumpf   1.2  
584 a.arora 1.26     CIMObjectPathRep* _rep;
585 kumpf   1.2  };
586              
587 kumpf   1.33 /**
588                  Compares two object paths for equality.
589                  @param x The first CIMObjectPath to be compared.
590                  @param y The second CIMObjectPath to be compared.
591                  @return True if the object paths are identical, false otherwise.
592              */
593 kumpf   1.2  PEGASUS_COMMON_LINKAGE Boolean operator==(
594                  const CIMObjectPath& x,
595                  const CIMObjectPath& y);
596              
597 kumpf   1.33 /**
598                  Compares two object paths for inequality.
599                  @param x The first CIMObjectPath to be compared.
600                  @param y The second CIMObjectPath to be compared.
601                  @return False if the object paths are identical, true otherwise.
602              */
603 kumpf   1.2  PEGASUS_COMMON_LINKAGE Boolean operator!=(
604                  const CIMObjectPath& x,
605                  const CIMObjectPath& y);
606              
607              #define PEGASUS_ARRAY_T CIMObjectPath
608 kumpf   1.5  # include <Pegasus/Common/ArrayInter.h>
609 kumpf   1.2  #undef PEGASUS_ARRAY_T
610 chip    1.1  
611              PEGASUS_NAMESPACE_END
612              
613 kumpf   1.2  #endif /* Pegasus_ObjectPath_h */
614              
615              

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2