00001 /* 00002 * ============================================================================= 00003 * Name : SdpTypedTime.h 00004 * Part of : SDP Codec 00005 * Interface : SDK API, SDP Codec API 00006 * Description : 00007 * Version : 1.0 00008 * 00009 * Copyright (c) 2003 Nokia Corporation. 00010 * This material, including documentation and any related 00011 * computer programs, is protected by copyright controlled by 00012 * Nokia Corporation. All rights are reserved. Copying, 00013 * including reproducing, storing, adapting or translating, any 00014 * or all of this material requires the prior written consent of 00015 * Nokia Corporation. This material also contains confidential 00016 * information which may not be disclosed to others without the 00017 * prior written consent of Nokia Corporation. 00018 * ============================================================================= 00019 */ 00020 00021 #ifndef TSDPTYPEDTIME_H 00022 #define TSDPTYPEDTIME_H 00023 00024 // INCLUDES 00025 #include <e32std.h> 00026 #include "_sdpdefs.h" 00027 00028 // FORWARD DECLARATIONS 00029 class RReadStream; 00030 class RWriteStream; 00031 00032 // CLASS DECLARATION 00047 class TSdpTypedTime 00048 { 00049 public: // enums 00050 00052 enum TUnit 00053 { 00054 ETimeUnitDays, 00055 ETimeUnitHours, 00056 ETimeUnitMinutes, 00057 ETimeUnitSeconds, 00058 ETimeUnitNone, 00059 }; 00060 00061 public: // Constructors and destructor 00065 IMPORT_C TSdpTypedTime(); 00066 00073 IMPORT_C TSdpTypedTime(TInt64 aValue, TUnit aUnit); 00074 00075 public: // New functions 00082 IMPORT_C TBool operator == (const TSdpTypedTime& aObj) const; 00083 00090 IMPORT_C void SetValue(TInt64 aValue, TUnit aUnit); 00091 00092 public: 00093 00099 void ExternalizeL(RWriteStream& aStream) const; 00100 00107 static TSdpTypedTime InternalizeL(RReadStream& aStream); 00108 00115 void EncodeL(RWriteStream& aStream) const; 00116 00124 static TSdpTypedTime DecodeL(const TDesC8& aText); 00125 00126 public: // Data 00127 TInt64 iValue; 00128 TInt iUnit; 00129 00130 }; 00131 00132 // TSDPTYPEDTIME_H 00133 #endif