Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
p6xpathtime.h
Go to the documentation of this file.
1 
10 #ifndef P6XPATHTTIME_H__
11 #define P6XPATHTIME_H__ 1
12 
13 #include "p6err.h"
14 
15 namespace P6R {
16 
17 #ifdef __cplusplus
18 extern "C" {
19 #endif
20 
27 interface p6IXpathTime : public p6ICom
28 {
42  P6COMMETHOD setTime( P6XPATH_TYPE type, P6TIME timeStamp, P6INT32 timeZone ) = 0;
43 
57  P6COMMETHOD getTime( P6XPATH_TYPE* pType, P6TIME* pTimeStamp, P6INT32* pTimeZone ) = 0;
58 
70  P6COMMETHOD extractYear( P6INT32* pYear ) = 0;
71 
83  P6COMMETHOD extractDay( P6INT32* pDayOfMonth ) = 0;
84 
96  P6COMMETHOD extractDayOfYear( P6INT32* pDayOfYear ) = 0;
97 
109  P6COMMETHOD extractDayOfWeek( P6INT32* pDayOfWeek ) = 0;
110 
122  P6COMMETHOD extractMonth( P6INT32* pMonth ) = 0;
123 
135  P6COMMETHOD extractHours( P6INT32* pHour ) = 0;
136 
148  P6COMMETHOD extractMinutes( P6INT32* pMinutes ) = 0;
149 
161  P6COMMETHOD extractSeconds( P6INT32* pSeconds ) = 0;
162 
173  P6COMMETHOD extractTimezone( P6INT32* pDelta ) = 0;
174 
185  P6COMMETHOD expand( P6TIMEINFO* pExpandedTime ) = 0;
186 
198  P6COMMETHOD toDate( p6IXpathTime** pConvert ) = 0;
199 
210  P6COMMETHOD toDateTime( p6IXpathTime** pConvert ) = 0;
211 
223  P6COMMETHOD toTime( p6IXpathTime** pConvert ) = 0;
224 
240  P6COMMETHOD toStringA( P6CHAR* pBuffer, P6UINT32 cBuffer, P6UINT32* pWritten ) = 0;
241 
257  P6COMMETHOD toStringW( P6WCHAR* pBuffer, P6UINT32 cBuffer, P6UINT32* pWritten ) = 0;
258 
270  P6COMMETHOD lessThan( p6IXpathTime* pTime, P6BOOL* pbResult ) = 0;
271 };
272 
273 // {352A0954-16B9-4833-B65A-EAFCD3641F8C}
274 #define IF_p6IXpathTime {0x352a0954,0x16b9,0x4833,{0xb6,0x5a,0xea,0xfc,0xd3,0x64,0x1f,0x8c}}
275 
276 #ifdef __cplusplus
277 }
278 #endif
279 
280 } // namespace
281 
282 
283 #endif
284 
285 
286 
287 
288 
289 
290 
291 
292 
virtual P6R::P6ERR extractMinutes(P6INT32 *pMinutes)=0
Extract the minutes from the time value stored in the component.
unsigned int P6UINT32
Definition: p6types.h:40
virtual P6R::P6ERR extractHours(P6INT32 *pHour)=0
Extract the 24 hours from the time value stored in the component.
Standard error codes.
virtual P6R::P6ERR toTime(p6IXpathTime **pConvert)=0
Return a copy of the current time component and convert it to a P6XPATH_TYPE_TIME (i...
bool P6BOOL
Boolean type.
Definition: p6types.h:101
virtual P6R::P6ERR expand(P6TIMEINFO *pExpandedTime)=0
Convert and return the time value stored in the component to a P6TIMEINFO format. ...
virtual P6R::P6ERR getTime(P6XPATH_TYPE *pType, P6TIME *pTimeStamp, P6INT32 *pTimeZone)=0
Extract the time value as a 3-tuple [type,P6TIME,timezone delta].
virtual P6R::P6ERR lessThan(p6IXpathTime *pTime, P6BOOL *pbResult)=0
Is this component less than the pTime parameter value?
virtual P6R::P6ERR toDateTime(p6IXpathTime **pConvert)=0
Return a copy of the current time component and convert it to a P6XPATH_TYPE_DATETIME (i...
virtual P6R::P6ERR extractYear(P6INT32 *pYear)=0
Extract the year value from the time value stored in the component.
This interface is an implementation of the following XPath 2.0 time types: xs:date, xs:dateTime, xs:time.
Definition: p6xpathtime.h:27
virtual P6R::P6ERR extractMonth(P6INT32 *pMonth)=0
Extract the month of the year from the time value stored in the component.
virtual P6R::P6ERR extractDay(P6INT32 *pDayOfMonth)=0
Extract the day of the month from the time value stored in the component.
virtual P6R::P6ERR extractDayOfWeek(P6INT32 *pDayOfWeek)=0
Extract the day of the week from the time value stored in the component.
P6XPATH_TYPE
Part of the XPath type system.
Definition: p6domxmltypes.h:46
wchar_t P6WCHAR
Wide character type see p6i18n.h.
Definition: p6types.h:76
A structure that is used to describe a specified time.
Definition: p6types.h:233
int P6INT32
Definition: p6types.h:41
The base interface all [p6]COM components must derive from and implement.
Definition: p6comdef.h:96
virtual P6R::P6ERR extractSeconds(P6INT32 *pSeconds)=0
Extract the seconds from the time value stored in the component.
virtual P6R::P6ERR toDate(p6IXpathTime **pConvert)=0
Return a copy of the current time component and convert it to a P6XPATH_TYPE_DATE (i...
virtual P6R::P6ERR setTime(P6XPATH_TYPE type, P6TIME timeStamp, P6INT32 timeZone)=0
Upon creation the p6IXPathTime component has no values.
virtual P6R::P6ERR toStringA(P6CHAR *pBuffer, P6UINT32 cBuffer, P6UINT32 *pWritten)=0
Convert the time value stored in this component into a valid ISO8601 (narrow) string.
#define P6COMMETHOD
Definition: p6types.h:872
virtual P6R::P6ERR extractTimezone(P6INT32 *pDelta)=0
Extract the seconds delta from GMT from the time value stored in the component.
P6INT64 P6TIME
The wallclock time represented as the number of microseconds since midnight January 1 1970 UTC...
Definition: p6types.h:228
virtual P6R::P6ERR extractDayOfYear(P6INT32 *pDayOfYear)=0
Extract the day of the year from the time value stored in the component.
virtual P6R::P6ERR toStringW(P6WCHAR *pBuffer, P6UINT32 cBuffer, P6UINT32 *pWritten)=0
Convert the time value stored in this component into a valid ISO8601 (wide) string.
char P6CHAR
Narrow character type.
Definition: p6types.h:71