Attempt to represent the S^2->S^3 header reorganisation as a series of "hg rename" operations
2 * Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
4 * This component and the accompanying materials are made available
5 * under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
6 * which accompanies this distribution, and is available
7 * at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
9 * Initial Contributors:
10 * Nokia Corporation - initial contribution.
15 * Name : sipcallidheader.h
24 #ifndef CSIPCALLIDHEADER_H
25 #define CSIPCALLIDHEADER_H
28 #include "sipheaderbase.h"
29 #include "_sipcodecdefs.h"
36 * Class for a SIP Call-ID header.
40 class CSIPCallIDHeader : public CSIPHeaderBase
42 public: // Constructors and destructor
45 * Constructs a CSIPCallIDHeader from textual representation
46 * of the header's value part.
47 * @param aValue a value part of a "Call-ID"-header (e.g. "ab2x@zb7y")
48 * @returns a new instance of CSIPCallIDHeader
50 IMPORT_C static CSIPCallIDHeader* DecodeL(const TDesC8& aValue);
55 IMPORT_C ~CSIPCallIDHeader ();
58 public: // New functions
61 * Compares this instance to another "Call-ID" header object
62 * @param aCallIDHeader a header to compare to
63 * @returns ETrue if "Call-ID" headers are similar
65 IMPORT_C TBool operator==(const CSIPCallIDHeader& aCallIDHeader);
68 * Constructs an instance of a CSIPCallIDHeader from a RReadStream
69 * @param aReadStream a stream containing the value of the
70 * externalized object (header name not included).
71 * @return an instance of a CSIPCallIDHeader
73 IMPORT_C static CSIPHeaderBase*
74 InternalizeValueL(RReadStream& aReadStream);
77 public: // From CSIPHeaderBase
80 * From CSIPHeaderBase CloneL
82 IMPORT_C CSIPHeaderBase* CloneL() const;
85 * From CSIPHeaderBase Name
87 IMPORT_C RStringF Name() const;
90 * From CSIPHeaderBase ToTextValueL
92 IMPORT_C HBufC8* ToTextValueL() const;
95 public: // From CSIPHeaderBase, for internal use
100 TBool HasCompactName() const;
105 RStringF CompactName() const;
110 TPreferredPlace PreferredPlaceInMessage() const;
112 public: // New functions, for internal use
114 static RPointerArray<CSIPHeaderBase> BaseDecodeL(const TDesC8& aValue);
116 private: // From CSIPHeaderBase
118 void ExternalizeValueL (RWriteStream& aWriteStream) const;
120 private: // Constructors
124 private: // New functions
126 void ParseL(const TDesC8& aValue);
132 private: // For testing purposes
134 UNIT_TEST(CSIPCallIDHeaderTest)
138 #endif // end of CSIPCALLIDHEADER_H