S60 3rd Edition API Reference: sdptimefield.h Source File

sdptimefield.h

Go to the documentation of this file.
00001 /*
00002 * =============================================================================
00003 *  Name          : SdpTimeField.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 CSDPTIMESFIELD_H
00022 #define CSDPTIMESFIELD_H
00023 
00024 //  INCLUDES
00025 #include <e32base.h>
00026 #include <stringpool.h>
00027 #include "_sdpdefs.h"
00028 
00029 // FORWARD DECLARATIONS
00030 class RReadStream;
00031 class RWriteStream;
00032 class CSdpRepeatField;
00033 
00034 // CLASS DECLARATION
00050 class CSdpTimeField : public CBase
00051         {
00052     public: // Constructors and destructor
00064                 IMPORT_C static CSdpTimeField * DecodeL(const TDesC8& aText, 
00065                                                 TBool aRecurse = ETrue);
00066 
00078                 IMPORT_C static CSdpTimeField * DecodeLC(const TDesC8& aText,
00079                                                 TBool aRecurse = ETrue);
00080 
00089                 IMPORT_C static CSdpTimeField * NewL(const TDesC8& aStartTime,
00090                                                                                 const TDesC8& aStopTime);
00091 
00100                 IMPORT_C static CSdpTimeField * NewLC(const TDesC8& aStartTime,
00101                                                                                 const TDesC8& aStopTime);
00102 
00106                 IMPORT_C ~CSdpTimeField();
00107 
00108     public: // New functions
00120                 IMPORT_C void EncodeL(RWriteStream& aStream, TBool aRecurse = ETrue) const;
00121 
00130                 IMPORT_C CSdpTimeField * CloneL(TBool aRecurse = ETrue) const;
00131 
00139                 IMPORT_C TBool operator == (const CSdpTimeField & aObj) const;
00140 
00146                 IMPORT_C TBool IsValid() const;
00147 
00153                 IMPORT_C const TDesC8& StartTime() const;
00154 
00160                 IMPORT_C const TDesC8& StopTime() const;
00161 
00171                 IMPORT_C void SetTimesL(const TDesC8& aStartTime, const TDesC8& aStopTime);
00172 
00184                 IMPORT_C RPointerArray<CSdpRepeatField>& RepeatFields();
00185         
00186     public:
00192                 void ExternalizeL(RWriteStream& aStream) const;
00193                 
00200                 static CSdpTimeField* InternalizeL(RReadStream& aStream);
00201         
00208         void DoInternalizeL(RReadStream& aStream);
00209 
00210         private:
00211                 CSdpTimeField();
00212 
00213                 void ConstructL(const TDesC8& aText, TBool aRecurse=ETrue);
00214                 void ConstructL(const TDesC8& aStartTime, const TDesC8& aStopTime);
00215 
00216         TBool RepeatFieldsCompare(const CSdpTimeField& aObj) const;
00217 
00218     private: // Data
00219                 HBufC8* iStartTime;
00220                 HBufC8* iStopTime;
00221                 RPointerArray<CSdpRepeatField> iRFields;
00222         RStringPool iStringPool;
00223 
00224                 __DECLARE_TEST;
00225         };
00226 
00227 // CSDPTIMESFIELD_H
00228 #endif

Copyright © Nokia Corporation 2001-2007
Back to top