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

  1 martin 1.54 //%LICENSE////////////////////////////////////////////////////////////////
  2 martin 1.55 //
  3 martin 1.54 // Licensed to The Open Group (TOG) under one or more contributor license
  4             // agreements.  Refer to the OpenPegasusNOTICE.txt file distributed with
  5             // this work for additional information regarding copyright ownership.
  6             // Each contributor licenses this file to you under the OpenPegasus Open
  7             // Source License; you may not use this file except in compliance with the
  8             // License.
  9 martin 1.55 //
 10 martin 1.54 // Permission is hereby granted, free of charge, to any person obtaining a
 11             // copy of this software and associated documentation files (the "Software"),
 12             // to deal in the Software without restriction, including without limitation
 13             // the rights to use, copy, modify, merge, publish, distribute, sublicense,
 14             // and/or sell copies of the Software, and to permit persons to whom the
 15             // Software is furnished to do so, subject to the following conditions:
 16 martin 1.55 //
 17 martin 1.54 // The above copyright notice and this permission notice shall be included
 18             // in all copies or substantial portions of the Software.
 19 martin 1.55 //
 20 martin 1.54 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
 21 martin 1.55 // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 22 martin 1.54 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
 23             // IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
 24             // CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
 25             // TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
 26             // SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 27 martin 1.55 //
 28 martin 1.54 //////////////////////////////////////////////////////////////////////////
 29 mike   1.10 //
 30             //%/////////////////////////////////////////////////////////////////////////////
 31             
 32 mike   1.51 #ifndef Pegasus_CIMDateTime_h
 33             #define Pegasus_CIMDateTime_h
 34 mike   1.10 
 35             #include <Pegasus/Common/Config.h>
 36 kumpf  1.48 #include <Pegasus/Common/Array.h>
 37 kumpf  1.29 #include <Pegasus/Common/Linkage.h>
 38 kumpf  1.14 
 39 mike   1.10 PEGASUS_NAMESPACE_BEGIN
 40             
 41 w.white 1.46 class CIMDateTimeRep;
 42 r.kieninger 1.56.2.5 class CMPISCMOUtilities;
 43 kumpf       1.24     
 44 mike        1.10     /**
 45 karl        1.36         The CIMDateTime class represents the CIM datetime data type as a C++ class
 46 kumpf       1.48         CIMDateTime.  A CIM datetime may contain a time stamp or an interval.
 47                          CIMDateTime is an intrinsic CIM data type that represents the time as a
 48                          string with a fixed length.
 49 mike        1.10     
 50                          <PRE>
 51 w.white     1.42         A time stamp has the following form:
 52 karl        1.36         yyyymmddhhmmss.mmmmmmsutc
 53 mike        1.10     
 54                          Where
 55                      
 56 karl        1.36         yyyy = year (1-9999)
 57                          mm = month (1-12)
 58                          dd = day (1-31)
 59                          hh = hour (0-23)
 60                          mm = minute (0-59)
 61                          ss = second (0-59)
 62                          mmmmmm = microseconds
 63                          s = '+' or '-' to represent the Coordinated Universal Time (UTC) sign
 64                          utc = offset from Coordinated Universal Time (UTC)
 65                              (same as Greenwich Mean Time(GMT) offset)
 66 mike        1.10     
 67                          An interval has the following form:
 68                      
 69 karl        1.36         ddddddddhhmmss.mmmmmm:000
 70 mike        1.10     
 71                          Where
 72                      
 73 karl        1.36         dddddddd = days
 74                          hh = hours (0-23)
 75                          mm = minutes (0-59)
 76                          ss = seconds (0-59)
 77                          mmmmmm = microseconds
 78 mike        1.10         </PRE>
 79                      
 80 kumpf       1.48         Note:  Intervals always end in ":000".  This distinguishes intervals from
 81                          time stamps.
 82 mike        1.10     
 83 kumpf       1.31         CIMDateTime objects are constructed from String objects or from
 84 karl        1.36         other CIMDateTime objects.  Character strings must be exactly
 85 kumpf       1.48         twenty-five characters in length and conform to either the time stamp
 86                          or interval format.
 87 mike        1.10     
 88 kumpf       1.31         CIMDateTime objects that are not explicitly initialized will be
 89                          implicitly initialized with a zero time interval:
 90 mike        1.10     
 91 karl        1.36         00000000000000.000000:000
 92 mike        1.10     
 93 w.white     1.42     
 94 kumpf       1.48         The following table shows what arithmetic operations are allowed
 95                          between CIMDateTime types. The entries in the last four columns define
 96                          the type of the result when the operation, specified in the column header,
 97                          is performed on operands, of the types specified in the first two columns.
 98 w.white     1.42     
 99 kumpf       1.48         <PRE>
100                          LHS - left hand side    TS - time stamp  int - integer
101                          RHS - right hand side   IV - interval
102                          X - operation not allowed between types
103                      
104                          LHS     RHS    +       -       *        /
105                          _____________________________________________
106                          TS      TS     X       IV      X       X
107                          TS      IV     TS      TS      X       X
108                          TS      int    X       X       X       X
109                          IV      IV     IV      IV      X       int
110                          IV      TS     X       X       X       X
111                          IV      int    X       X       IV      IV
112                          int     TS     X       X       X       X
113                          int     IV     X       X       X       X
114                          </PRE>
115                      
116                          The relational operators may only operate on two operands of the same type,
117                          i.e. two time stamps or two intervals.
118 mike        1.10     */
119                      class PEGASUS_COMMON_LINKAGE CIMDateTime
120                      {
121                      public:
122                      
123 mike        1.51     #ifdef PEGASUS_USE_EXPERIMENTAL_INTERFACES
124                      
125                          /** Wildcard parameter for component-based initializer member functions.
126                          */
127                          static const Uint32 WILDCARD;
128                      
129                      #endif /* PEGASUS_USE_EXPERIMENTAL_INTERFACES */
130                      
131 kumpf       1.34         /** Creates a new CIMDateTime object with a zero interval value.
132 karl        1.12         */
133 mike        1.10         CIMDateTime();
134                      
135 mike        1.51         /** Creates a CIMDateTime object from another CIMDateTime object.
136                              @param x  Specifies the name of the CIMDateTime object to copy.
137                          */
138                          CIMDateTime(const CIMDateTime& x);
139                      
140 karl        1.36         /** Creates a new CIMDateTime object from a string constant representing
141 w.white     1.42             the CIM DateTime formatted datetime.
142 kumpf       1.31             See the class documentation for CIMDateTime for the definition of the
143 karl        1.12             input string for absolute and interval datetime.
144 kumpf       1.48             @param str String object containing the CIMDateTime formatted string.
145 karl        1.36             This must contain twenty-five characters.
146 kumpf       1.48             @exception InvalidDateTimeFormatException If the input string is not
147                              formatted correctly.
148 mike        1.10         */
149 mike        1.51         CIMDateTime(const String& str);
150 mike        1.10     
151 w.white     1.42         /** Creates a CIMDateTime object from an integer.
152 kumpf       1.53             @param usec For a time stamp, the number of microseconds since
153 kumpf       1.48             the epoch 0/0/0000 (12 am Jan 1, 1BCE); For an interval, the number
154                              of microseconds in the interval.
155 kumpf       1.53             @param isInterval Specifies whether the CIMDateTime object is to be
156 kumpf       1.48             created as an interval value (true) or a time stamp (false).
157                              @exception DateTimeOutOfRangeException If the microSec value is too
158                              large (greater than 317,455,200,000,000,000 for a time stamps or
159                              8,640,000,000,000,000,000 for an interval).
160                              @exception InvalidDateTimeFormatException If the CIMDateTime object is
161                              not formed correctly.
162                          */
163 mike        1.51         CIMDateTime(Uint64 usec, Boolean isInterval);
164                      
165                      #ifdef PEGASUS_USE_EXPERIMENTAL_INTERFACES
166                      
167                          /** Create datetime time stamp from components.
168                              @param year zero-based year number (or CIMDateTime::WILDCARD)
169                              @param month number from 1 to 12 (or CIMDateTime::WILDCARD)
170                              @param day one-based day of the month (or CIMDateTime::WILDCARD)
171                              @param hours a number from 0 to 23 (or CIMDateTime::WILDCARD)
172                              @param minutes a number from 0 to 59 (or CIMDateTime::WILDCARD)
173                              @param seconds a number from 0 to 59 (or CIMDateTime::WILDCARD)
174                              @param microseconds a number from 0 to 999999
175                              @param numSignificantMicrosecondDigits the number of decimal digits of
176                                  the microseconds parameter (from left to right) that are
177                                  significant (all others are wildcarded) or six if they are all
178                                  significant.
179                              @param UTF offset in minutes (negative or positive).
180                              @exception DateTimeOutOfRangeException.
181                          */
182                          CIMDateTime(
183                              Uint32 year,
184 mike        1.51             Uint32 month,
185                              Uint32 day,
186                              Uint32 hours,
187                              Uint32 minutes,
188                              Uint32 seconds,
189                              Uint32 microseconds,
190                              Uint32 numSignificantMicrosecondDigits,
191                              Sint32 utcOffset);
192                      
193                          /** Create datetime interval from components.
194                              @param days a number from 0 to 99999999 (or CIMDateTime::WILDCARD)
195                              @param hours a number from 0 to 23 (or CIMDateTime::WILDCARD)
196                              @param minutes a number from 0 to 59 (or CIMDateTime::WILDCARD)
197                              @param seconds a number from 0 to 59 (or CIMDateTime::WILDCARD)
198                              @param microseconds a number from 0 to 999999
199                              @param numSignificantMicrosecondDigits the number of decimal digits of
200                                  the microseconds parameter (from left to right) that are
201                                  significant (all others are wildcarded) or six if they are all
202                                  significant.
203                              @exception DateTimeOutOfRangeException.
204                          */
205 mike        1.51         CIMDateTime(
206                              Uint32 days,
207                              Uint32 hours,
208                              Uint32 minutes,
209                              Uint32 seconds,
210                              Uint32 microseconds,
211                              Uint32 numSignificantMicrosecondDigits);
212                      
213                      #endif /* PEGASUS_USE_EXPERIMENTAL_INTERFACES */
214 w.white     1.42     
215 a.arora     1.39         /** CIMDateTime destructor. */
216                          ~CIMDateTime();
217                      
218 karl        1.36         /** Assigns one instance of the CIMDateTime object to another.
219                              @param x  The CIMDateTime Object to assign to the CIMDateTime object.
220                              For example, you can assign the d1 CIMDateTime instance to the d2
221                              CIMDateTime instance.
222 kumpf       1.34             <PRE>
223                                  CIMDateTime d1;
224                                  CIMDateTime d2 = "00000000000000.000000:000";
225 karl        1.36                 d1 = d2;
226 kumpf       1.34             </PRE>
227 kumpf       1.52             Therefore, d1 is assigned the same "00000000000000.000000:000" value
228 mike        1.51             as d2.
229 mike        1.10         */
230                          CIMDateTime& operator=(const CIMDateTime& x);
231                      
232 kumpf       1.34         /** Returns a string representing the DateTime value of the
233 karl        1.36             CIMDateTime object.
234 kumpf       1.34             @return String representing the DateTime value.
235 karl        1.12         */
236 kumpf       1.48         String toString() const;
237 mike        1.10     
238 kumpf       1.48         /** Sets the datetime value from the input parameter.
239                              @param str String containing the new value in the datetime format
240                              (specified in the CIMDateTime class description).  For example, the
241                              following sets the date to December 24, 1999 and time to 12:00 P.M.
242                              EST.
243 mike        1.10     
244 karl        1.36             <PRE>
245                              CIMDateTime dt;
246 kumpf       1.48             dt.set("19991224120000.000000-300");
247 karl        1.36             </PRE>
248 mike        1.10     
249 kumpf       1.48             @exception InvalidDateTimeFormatException If the datetime String is not
250                              formatted correctly.
251 mike        1.10         */
252 kumpf       1.31         void set(const String & str);
253 mike        1.10     
254 mike        1.51     #ifdef PEGASUS_USE_EXPERIMENTAL_INTERFACES
255                      
256                          /** Sets the datetime timestamp from individual components.
257                              @param year zero-based year number (or CIMDateTime::WILDCARD)
258                              @param month number from 1 to 12 (or CIMDateTime::WILDCARD)
259                              @param day one-based day of the month (or CIMDateTime::WILDCARD)
260                              @param hours a number from 0 to 23 (or CIMDateTime::WILDCARD)
261                              @param minutes a number from 0 to 59 (or CIMDateTime::WILDCARD)
262                              @param seconds a number from 0 to 59 (or CIMDateTime::WILDCARD)
263                              @param microseconds a number from 0 to 999999
264                              @param UTF offset in minutes (negative or positive).
265                              @param numSignificantMicrosecondDigits the number of decimal digits of
266                                  the microseconds parameter (from left to right) that are
267                                  significant (all others are wildcarded) or six if they are all
268                                  significant.
269                              @exception DateTimeOutOfRangeException.
270                          */
271                          void setTimeStamp(
272                              Uint32 year,
273                              Uint32 month,
274                              Uint32 day,
275 mike        1.51             Uint32 hours,
276                              Uint32 minutes,
277                              Uint32 seconds,
278                              Uint32 microseconds,
279                              Uint32 numSignificantMicrosecondDigits,
280                              Sint32 utcOffset);
281                      
282                          /** Create datetime interval from components.
283                              @param days a number from 0 to 99999999
284                              @param hours a number from 0 to 23 (or CIMDateTime::WILDCARD)
285                              @param minutes a number from 0 to 59 (or CIMDateTime::WILDCARD)
286                              @param seconds a number from 0 to 59 (or CIMDateTime::WILDCARD)
287                              @param microseconds a number from 0 to 999999
288                              @param numSignificantMicrosecondDigits the number of decimal digits of
289                                  the microseconds parameter (from left to right) that are
290                                  significant (all others are wildcarded) or six if they are all
291                                  significant.
292                              @exception DateTimeOutOfRangeException.
293                          */
294                          void setInterval(
295                              Uint32 days,
296 mike        1.51             Uint32 hours,
297                              Uint32 minutes,
298                              Uint32 seconds,
299                              Uint32 microseconds,
300                              Uint32 numSignificantMicrosecondDigits);
301                      
302                      #endif /* PEGASUS_USE_EXPERIMENTAL_INTERFACES */
303                      
304 karl        1.36         /** Clears the datetime class object.  The date time is set to
305 kumpf       1.34             a zero interval value.
306 karl        1.12         */
307 mike        1.10         void clear();
308                      
309 kumpf       1.48         /** Returns the current local time in a CIMDateTime object.
310                              @return CIMDateTime object containing the current local date and time.
311 kumpf       1.14         */
312                          static CIMDateTime getCurrentDateTime();
313                      
314 kumpf       1.48         /** Computes the difference in microseconds between two CIMDateTime time
315                              stamps or two CIMDateTime intervals.
316 kumpf       1.34             @param startTime  Contains the start datetime.
317                              @param finishTime  Contains the finish datetime.
318 kumpf       1.48             @return An integer that contains the difference between the two
319                              datetime values (in microseconds).
320 w.white     1.42             @exception InvalidDateTimeFormatException If arguments are not the same
321                              type of CIMDateTime.
322 kumpf       1.14         */
323 kumpf       1.48         static Sint64 getDifference(CIMDateTime startTime, CIMDateTime finishTime);
324                      
325                          /** Checks whether the datetime is an interval.
326                              @return True if the datetime is an interval value, false otherwise.
327                          */
328 kumpf       1.49         Boolean isInterval() const;
329 kumpf       1.53     
330                          /** Checks whether the datetime is an interval.  (This non-const form is
331                              maintained for compatibility.)
332                              @return True if the datetime is an interval value, false otherwise.
333                          */
334 kumpf       1.48         Boolean isInterval();
335 karl        1.36     
336 mike        1.51     #ifdef PEGASUS_USE_EXPERIMENTAL_INTERFACES
337                      
338                          /** Checks whether the datetime is a timestamp.
339                              @return True if so.
340                          */
341                          Boolean isTimeStamp() const;
342                      
343                      #endif /* PEGASUS_USE_EXPERIMENTAL_INTERFACES */
344                      
345 karl        1.36         /** Compares the CIMDateTime object to another CIMDateTime object for
346 kumpf       1.34             equality.
347                              @param x  CIMDateTime object to be compared.
348 kumpf       1.48             @return true if the two CIMDateTime objects are equal, false otherwise
349 w.white     1.42             @exception TypeMismatchException If arguments are of different types.
350 kumpf       1.31         */
351 mike        1.51         Boolean equal(const CIMDateTime& x) const;
352 kumpf       1.31     
353 w.white     1.42         /** Converts a CIMDateTime object to its microsecond representation.
354 kumpf       1.48             @return Number of microseconds since the epoch (for time stamps) or
355                              in a span of time (for intervals).
356                              @exception DateTimeOutOfRangeException If conversion to UTC (an
357                              internal operation) causes an overflow condition.
358 w.white     1.42         */
359 w.white     1.47         Uint64 toMicroSeconds() const;
360 w.white     1.42     
361 kumpf       1.48         /** Adds two CIMDateTime objects and returns a CIMDateTime object that
362                              represents the sum.
363 mike        1.51             @param x operand on the RHS of the operator
364 kumpf       1.48             @return A CIMDateTime object that is the result of adding the calling
365                              object to the RHS operand
366                              @exception DateTimeOutOfRangeException If the operation causes an
367                              overflow condition.
368                              @exception TypeMismatchException If the operands are not type
369                              compatible (see table of operations).
370 w.white     1.42         */
371 mike        1.51         CIMDateTime operator+(const CIMDateTime& x) const;
372 w.white     1.42     
373                          /** Adds two CIMDateTime objects, returns the sum and changes
374                              the value of the calling CIMDateTime object to match the return value.
375 mike        1.51             @param x operand on the RHS of the operator
376 kumpf       1.48             @return A CIMDateTime object that is the result of adding the calling
377                              object to the RHS operand
378                              @exception DateTimeOutOfRangeException If the operation causes an
379                              overflow condition.
380                              @exception TypeMismatchException If the operands are not type
381                              compatible (see table of operations).
382 w.white     1.42         */
383 mike        1.51         CIMDateTime & operator+=(const CIMDateTime& x);
384 w.white     1.42     
385 kumpf       1.48         /** Subtracts one CIMDateTime object from another and returns a
386                              CIMDateTime object that represents the difference.
387 mike        1.51             @param x operand on the RHS of the operator
388 kumpf       1.48             @return A CIMDateTime object that is the result of subtracting the
389 w.white     1.42             the RHS object from the calling.
390 kumpf       1.48             @exception DateTimeOutOfRangeException If the operation causes an
391                              underflow condition or conversion to UTC (an internal operation)
392                              causes an overflow condition.
393                              @exception TypeMismatchException If the operands are not type
394                              compatible (see table of operations).
395                          */
396 mike        1.51         CIMDateTime operator-(const CIMDateTime& x) const;
397 kumpf       1.48     
398                          /** Subtracts one CIMDateTime object from another, returns the difference
399                              and changes the value of the calling CIMDateTime object to match the
400                              return value.
401 mike        1.51             @param x operand on the RHS of the operator
402 kumpf       1.48             @return A CIMDateTime object that is the result of subtracting the
403                              object on the RHS from the calling object.
404                              @exception DateTimeOutOfRangeException If the operation causes an
405                              underflow condition or conversion to UTC (an internal operation)
406                              causes an overflow condition.
407                              @exception TypeMismatchException If the operands are not type
408                              compatible (see table of operations).
409                          */
410 mike        1.51         CIMDateTime & operator-=(const CIMDateTime& x);
411 kumpf       1.48     
412                          /** Multiplies a CIMDateTime object by an integer and returns a CIMDateTime
413                              object that represents the product.
414 kumpf       1.53             @param x integer operand on the RHS of the operator
415 kumpf       1.48             @return A CIMDateTime object that is the result of multiplying the
416                              calling object by the RHS operand.
417                              @exception DateTimeOutOfRangeException If the operation causes an
418                              overflow condition.
419                              @exception TypeMismatchException If the operands are not type
420                              compatible (see table of operations).
421 w.white     1.42         */
422 mike        1.51         CIMDateTime operator*(Uint64 x) const;
423 w.white     1.42     
424 kumpf       1.48         /** Multiplies a CIMDateTime object by an integer, returns the product
425                              and changes the value of the calling object to match the returned
426                              product.
427 kumpf       1.53             @param x integer operand on the RHS of the operator
428 kumpf       1.48             @return A CIMDateTime object that is the result of multiplying the
429                              calling object by the RHS operand.
430                              @exception DateTimeOutOfRangeException If the operation causes an
431                              overflow condition.
432                              @exception TypeMismatchException If the operands are not type
433                              compatible (see table of operations).
434                          */
435 mike        1.51         CIMDateTime & operator*=(Uint64 x);
436 kumpf       1.48     
437                          /** Divides a CIMDateTime object by an integer and returns a CIMDateTime
438                              object that represents the quotient.
439                              @param num integer operand on the RHS of the operator
440                              @return A CIMDateTime object that is the result of dividing the calling
441                              object by the RHS operand.
442                              @exception DateTimeOutOfRangeException If conversion to UTC (an
443                              internal operation) causes an overflow condition.
444                              @exception TypeMismatchException If the CIMDateTime object does not
445                              hold an interval value (see table of operations).
446                              @exception Exception if param num is zero.
447                          */
448 w.white     1.42         CIMDateTime operator/(Uint64 num) const;
449                      
450 kumpf       1.48         /** Divides a CIMDateTime object by an integer, returns the quotient
451                              and changes the value of the calling object to match the returned
452                              quotient.
453                              @param num integer operand on the RHS of the operator
454                              @return A CIMDateTime object that is the result of dividing the calling
455                              object by the RHS operand.
456                              @exception DateTimeOutOfRangeException If conversion to UTC (an
457                              internal operation) causes an overflow condition.
458                              @exception TypeMismatchException If the CIMDateTime object does not
459                              hold an interval value (see table of operations).
460                              @exception Exception if param num is zero.
461                          */
462 w.white     1.42         CIMDateTime & operator/=(Uint64 num);
463                      
464 kumpf       1.48         /** Divides a CIMDateTime object by another CIMDateTime object and returns
465                              an integer quotient.
466                              @param cdt CIMDateTime object on the RHS of the operator
467                              @return An integer that is the result of dividing the number of
468                              microseconds represented by the calling CIMDateTime object by the
469                              number of microseconds represented by the CIMDateTime object on the
470                              RHS of the operator.
471                              @exception DateTimeOutOfRangeException If conversion to UTC (an
472                              internal operation) causes an overflow condition.
473                              @exception TypeMismatchException If the operands are not type
474                              compatible (see table of operations).
475                          */
476                          Uint64 operator/(const CIMDateTime& cdt) const;
477                      
478                          /** Compare two CIMDateTime objects and returns true if the LHS is
479                              less than the RHS.
480 mike        1.51             @param x operand on the RHS of the operator
481 kumpf       1.48             @return true if the LHS is less than the RHS, false otherwise.
482                              @exception DateTimeOutOfRangeException If conversion to UTC (an
483                              internal operation) causes an overflow condition.
484                              @exception TypeMismatchException if operands are not of the same
485                              type.
486 w.white     1.42          */
487 mike        1.51         Boolean operator<(const CIMDateTime& x) const;
488 w.white     1.42     
489 kumpf       1.48         /** Compare two CIMDateTime objects and returns true if the LHS is
490                              less than or equal to the RHS.
491 mike        1.51             @param x operand on the RHS of the operator
492 kumpf       1.48             @return true if the LHS is less than or equal to the RHS, false
493                              otherwise.
494                              @exception DateTimeOutOfRangeException If conversion to UTC (an
495                              internal operation) causes an overflow condition.
496                              @exception TypeMismatchException if operands are not of the same
497                              type.
498                          */
499 mike        1.51         Boolean operator<=(const CIMDateTime& x) const;
500 kumpf       1.48     
501                          /** Compare two CIMDateTime objects and returns true if the LHS is
502                              greater than the RHS.
503 mike        1.51             @param x operand on the RHS of the operator
504 kumpf       1.48             @return true if the LHS is greater than the RHS, false otherwise.
505                              @exception DateTimeOutOfRangeException If conversion to UTC (an
506                              internal operation) causes an overflow condition.
507                              @exception TypeMismatchException if operands are not of the same
508                              type.
509 w.white     1.42         */
510 mike        1.51         Boolean operator>(const CIMDateTime & x) const;
511 w.white     1.42     
512 kumpf       1.48         /** Compare two CIMDateTime objects and returns true if the LHS is
513                              greater than or equal to the RHS.
514 mike        1.51             @param x operand on the RHS of the operator
515 kumpf       1.48             @return true if the LHS is greater than or equal to the RHS, false
516                              otherwise.
517                              @exception DateTimeOutOfRangeException If conversion to UTC (an
518                              internal operation) causes an overflow condition.
519                              @exception TypeMismatchException if operands are not of the same
520                              type.
521 w.white     1.42         */
522 mike        1.51         Boolean operator>=(const CIMDateTime & x) const;
523 w.white     1.42     
524 kumpf       1.48         /** Compare two CIMDateTime objects and returns true if the LHS is
525                              not equal to the RHS.
526 mike        1.51             @param x operand on the RHS of the operator
527 kumpf       1.48             @return true if the LHS is not equal to RHS, false otherwise.
528                              @exception DateTimeOutOfRangeException If conversion to UTC (an
529                              internal operation) causes an overflow condition.
530                              @exception TypeMismatchException if operands are not of the same
531                              type.
532 w.white     1.42         */
533 mike        1.51         Boolean operator!=(const CIMDateTime & x) const;
534 w.white     1.42     
535 kumpf       1.48     private:
536 a.arora     1.39         CIMDateTimeRep* _rep;
537 mike        1.51         CIMDateTime(CIMDateTimeRep*);
538 thilo.boehm 1.56.2.4     CIMDateTime(const CIMDateTimeRep*);
539                      
540 sahana.prabhakar 1.56         friend class CIMBuffer;
541 thilo.boehm      1.56.2.1     friend class SCMOClass;
542 thilo.boehm      1.56.2.2     friend class SCMODump;
543 thilo.boehm      1.56.2.3     friend class SCMOInstance;
544 r.kieninger      1.56.2.5     friend class CMPISCMOUtilities;
545 mike             1.10     };
546 w.white          1.42     
547 kumpf            1.48     /** Compares two CIMDateTime objects and returns true if they represent the
548                               same time or length of time.
549                               @param x one of the CIMDateTime objects to be compared
550                               @param y one of the CIMDateTime objects to be compared
551                               @return true if the two objects passed in represent the same time or
552                               length of time, false otherwise.
553 w.white          1.42     */
554 kumpf            1.48     PEGASUS_COMMON_LINKAGE Boolean operator==(
555                               const CIMDateTime& x,
556                               const CIMDateTime& y);
557 mike             1.10     
558                           #define PEGASUS_ARRAY_T CIMDateTime
559 kumpf            1.25     # include <Pegasus/Common/ArrayInter.h>
560 mike             1.10     #undef PEGASUS_ARRAY_T
561                           
562                           PEGASUS_NAMESPACE_END
563                           
564 mike             1.51     #endif /* Pegasus_CIMDateTime_h */

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2