--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/genericservices/httputils/inc/tinternetdate.h Tue Feb 02 02:01:42 2010 +0200
@@ -0,0 +1,103 @@
+// Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+// This file contains the class TInternetDate
+//
+//
+
+/**
+ @file tinternetdate.h
+ @publishedAll
+ @released
+*/
+
+
+#ifndef __TINTERNETDATE_H__
+#define __TINTERNETDATE_H__
+
+#include <e32std.h>
+
+/**
+Stores dates in universal time and provides parsing of internet style dates
+into TDateTime and RFC 1123 (updates RFC 822) dates.
+
+Supports parsing of the following date formats:
+Sun, 06 Nov 1994 08:49:37 GMT ; RFC 822, updated by RFC 1123
+Sunday, 06-Nov-94 08:49:37 GMT ; RFC 850, obsoleted by RFC 1036
+Sun Nov 6 08:49:37 1994 ; ANSI C's asctime() format
+
+In case of Date Formats with offsets "Mon, 21 Jan 2002 23:00:00 +0210" , equivalent
+time in UTC can be determined by substracting the offset from the local time (RFC 3339).
+
+All dates are store relative to Universal Time and not local time.
+
+@publishedAll
+@released
+@since 7.0
+*/
+class TInternetDate
+ {
+public:
+/**
+ Enum defining internet date formats.
+ @publishedAll
+ @released
+ @since 9.1
+ */
+ enum TInternetDateFormat
+ {
+ /**
+ Rfc 1123 Compliant date format
+ */
+ ERfc1123Format
+ };
+
+ inline TInternetDate();
+
+
+ inline TInternetDate(TDateTime aUniversalTime);
+
+ IMPORT_C void SetDateL(const TDesC8& aDate);
+
+ IMPORT_C const TDateTime& DateTime();
+
+ IMPORT_C HBufC8* InternetDateTimeL(TInternetDateFormat aInternetDateFormat);
+
+private:
+ /**
+ A date and time object
+ */
+ TDateTime iDateTime;
+ };
+
+
+/**
+ Intended Usage: Default Constructor. Used when setting dates that are in a text format using SetDateL
+
+ @since 7.0 .
+*/
+inline TInternetDate::TInternetDate()
+ {}
+
+/**
+ Intended Usage: Constructor. Used when setting a date that you later want parsed into an internet text format
+
+ @since 7.0
+ @param aUniversalTime a time that should correspond to Universal Time.
+*/
+inline TInternetDate::TInternetDate(TDateTime aUniversalTime) :
+ iDateTime(aUniversalTime)
+ {}
+
+
+#endif // __TINTERNETDATE_H__