diff -r f1578314b8da -r 505ad3f0ce5c Msrp/MsrpHeader/inc/CMSRPMessageBase.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Msrp/MsrpHeader/inc/CMSRPMessageBase.h Sat Jun 12 14:30:11 2010 +0530 @@ -0,0 +1,184 @@ +/* +* Copyright (c) 2009-2010 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: +* MSRP Implementation +* +*/ + +#ifndef CMSRPMESSAGEBASE_H +#define CMSRPMESSAGEBASE_H + +// INCLUDES +#include +#include + +// FORWARD DECLARATIONS +class CMSRPFromPathHeader; +class CMSRPToPathHeader; +class CMSRPMessageIdHeader; +class CMSRPByteRangeHeader; +class CMSRPContentTypeHeader; +class CMSRPFailureReportHeader; +class CMSRPSuccessReportHeader; + +// CONSTANTS +const TInt KMaxLengthOfShortMessage = 4096; +const TInt KLengthOfMSRPSmallBuffer = 2048; + +// CLASS DECLARATION + +/** +* @publishedAll +* +* Class provides functions for creation and manipulation of MSRP headers +* +* @lib msrpclient.lib +*/ +class CMSRPMessageBase : public CBase + { + + public: // Constructors and destructor + + /** + * Destructor. + */ + IMPORT_C virtual ~CMSRPMessageBase(); + + public: // New functions + + /** + * Sets/resets the recipient's To-Path header + * @param aTo a To-Path header to be set, the ownership is transferred + */ + IMPORT_C void SetToPathHeader( CMSRPToPathHeader* aToPath ); + + /** + * Gets the recipient's To-Path header + * @return NULL if not present. Ownership is not + * transferred. + */ + IMPORT_C const CMSRPToPathHeader* ToPathHeader() const; + + /** + * Sets/resets the From-Path header + * @param aFromPath From-Path header to be set, the ownership is transferred + */ + IMPORT_C void SetFromPathHeader( CMSRPFromPathHeader* aFromPath ); + + /** + * Returns From-Path header + * @return NULL if not present. Ownership is not + * transferred. + */ + IMPORT_C const CMSRPFromPathHeader* FromPathHeader() const; + + /** + * Sets/resets the Content-Type header + * @param aContentType ContentType header to be set, the ownership is transferred + */ + IMPORT_C void SetContentTypeHeader( CMSRPContentTypeHeader* aContentType ); + + /** + * Returns Content-Type header + * @return NULL if not present. Ownership is not + * transferred. + */ + IMPORT_C const CMSRPContentTypeHeader* ContentTypeHeader() const; + + /** + * Sets/resets the Failure-Report header + * @param aFailureReport FailureReport header to be set, the ownership is transferred + */ + IMPORT_C void SetFailureReportHeader( CMSRPFailureReportHeader* aFailureReport ); + + /** + * Returns Failure-Report header + * @return NULL if not present. Ownership is not + * transferred. + */ + IMPORT_C const CMSRPFailureReportHeader* FailureReportHeader() const; + + /** + * Sets/resets the Success-Report header + * @param aSuccessReport SuccessReport header to be set, the ownership is transferred + */ + IMPORT_C void SetSuccessReportHeader( CMSRPSuccessReportHeader* aSuccessReport ); + + /** + * Returns Success-Report header + * @return NULL if not present. Ownership is not + * transferred. + */ + IMPORT_C const CMSRPSuccessReportHeader* SuccessReportHeader() const; + + /** + * Sets/resets the Message-ID header + * @param aMessageId MessageId header to be set, the ownership is transferred + */ + IMPORT_C void SetMessageIdHeader( CMSRPMessageIdHeader* aMessageId ); + + /** + * Returns Message-ID header + * @return NULL if not present. Ownership is not + * transferred. + */ + IMPORT_C const CMSRPMessageIdHeader* MessageIdHeader() const; + + /** + * Sets/resets the Byte-Range header + * @param aByteRange ByteRange header to be set, the ownership is transferred + */ + IMPORT_C void SetByteRangeHeader( CMSRPByteRangeHeader* aByteRange ); + + /** + * Returns Byte-Range header + * @return NULL if not present. Ownership is not + * transferred. + */ + IMPORT_C const CMSRPByteRangeHeader* ByteRangeHeader() const; + + /** + * Writes the object to a RWriteStream + * @param aWriteStream a stream where the object is to be externalized + */ + virtual void ExternalizeL( RWriteStream& aWriteStream ) = 0; + + protected: + + /** + * Constructor. + */ + CMSRPMessageBase(); + + protected: // Data + + // Headers + // For setting and getting MSRP "From-Path" header field + CMSRPFromPathHeader* iFromPath; + // For setting and getting MSRP "To-Path" header field + CMSRPToPathHeader* iToPath; + // For setting and getting MSRP "Message-ID" header field + CMSRPMessageIdHeader* iMessageId; + // For setting and getting MSRP "Byte-Range" header field + CMSRPByteRangeHeader* iByteRange; + // For setting and getting MSRP "Content-Type" header field + CMSRPContentTypeHeader* iContentType; + // For setting and getting MSRP "Failure-Report" header field + CMSRPFailureReportHeader* iFailureReport; + // For setting and getting MSRP "Success-Report" header field + CMSRPSuccessReportHeader* iSuccessReport; + + }; + +#endif // CMSRPMESSAGEBASE_H + +// End of File