#include <Pegasus/Common/CIMParamValue.h>
#include <Pegasus/Common/Buffer.h>
#include <Pegasus/Common/CIMNameCast.h>
+#include <Pegasus/Common/CIMDateTimeRep.h>
#define PEGASUS_USE_MAGIC
void putDateTime(const CIMDateTime& x)
{
- putUint64(x.toMicroSeconds());
- putBoolean(x.isInterval());
+ putUint64(x._rep->usec);
+ putUint32(x._rep->utcOffset);
+ putUint16(x._rep->sign);
+ putUint16(x._rep->numWildcards);
}
void putBooleanA(const Array<Boolean>& x)
if (!getUint64(usec))
return false;
- Boolean interval;
+ Uint32 utcOffset;
- if (!getBoolean(interval))
+ if (!getUint32(utcOffset))
return false;
- x = CIMDateTime(usec, interval);
+ Uint16 sign;
+
+ if (!getUint16(sign))
+ return false;
+
+ Uint16 numWildcards;
+
+ if (!getUint16(numWildcards))
+ return false;
+
+ CIMDateTimeRep *rep = new CIMDateTimeRep;
+ rep->usec = usec;
+ rep->utcOffset = utcOffset;
+ rep->sign = sign;
+ rep->numWildcards = numWildcards;
+ x = CIMDateTime(rep);
return true;
}
#include <cassert>
#include <fstream>
#include "CIMDateTime.h"
+#include "CIMDateTimeRep.h"
#include "Exception.h"
#include "System.h"
#include "AutoPtr.h"
# include "ArrayImpl.h"
#undef PEGASUS_ARRAY_T
-//==============================================================================
-//
-// CIMDateTimeRep
-//
-//==============================================================================
-
-class CIMDateTimeRep
-{
-public:
-
- // Number of microseconds elapsed since January 1, 1 BCE.
- Uint64 usec;
-
- // UTC offset
- Uint32 utcOffset;
-
- // ':' for intervals. '-' or '+' for time stamps.
- Uint16 sign;
-
- // Number of wild characters ('*') used to initialize this object.
- Uint16 numWildcards;
-};
-
//==============================================================================
//
// Local constants.
--- /dev/null
+//%LICENSE////////////////////////////////////////////////////////////////
+//
+// Licensed to The Open Group (TOG) under one or more contributor license
+// agreements. Refer to the OpenPegasusNOTICE.txt file distributed with
+// this work for additional information regarding copyright ownership.
+// Each contributor licenses this file to you under the OpenPegasus Open
+// Source License; you may not use this file except in compliance with the
+// License.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a
+// copy of this software and associated documentation files (the "Software"),
+// to deal in the Software without restriction, including without limitation
+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
+// and/or sell copies of the Software, and to permit persons to whom the
+// Software is furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included
+// in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+//////////////////////////////////////////////////////////////////////////
+//
+//%/////////////////////////////////////////////////////////////////////////////
+
+#ifndef Pegasus_CIMDateTimeRep_h
+#define Pegasus_CIMDateTimeRep_h
+
+PEGASUS_NAMESPACE_BEGIN
+
+/** This class defines the internal representation of the CIMDateTime class.
+ The CIMDateTimeRep is a private memeber of CIMDateTime class.
+*/
+class CIMDateTimeRep
+{
+public:
+
+ // Number of microseconds elapsed since January 1, 1 BCE.
+ Uint64 usec;
+
+ // UTC offset
+ Uint32 utcOffset;
+
+ // ':' for intervals. '-' or '+' for time stamps.
+ Uint16 sign;
+
+ // Number of wild characters ('*') used to initialize this object.
+ Uint16 numWildcards;
+};
+
+PEGASUS_NAMESPACE_END
+
+#endif /* Pegasus_CIMDateTimeRep_h */