diff -r fb024d5e35fa -r 64c62431ac08 ipappsrv_plat/multimedia_comms_api/inc/mcemsrpsink.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ipappsrv_plat/multimedia_comms_api/inc/mcemsrpsink.h Mon Sep 06 17:32:13 2010 +0530 @@ -0,0 +1,184 @@ +/* +* Copyright (c) 2006 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: +* +*/ + + + +#ifndef CMCEMSRPSINK_H +#define CMCEMSRPSINK_H + +// INCLUDES +#include +#include +#include +#include +#include +#include +#include + +// CONSTANTS +const TMceSinkType KMceMSRPSink = 5; + +// CLASS DECLARATION + +/** +* Class representing a MSRP sink (RFC 4975). +* +* @lib mceclient.lib +*/ +class CMceMsrpSink: public CMceMediaSink + { + public: // Constructors and destructor + + /** + * Two-phased constructor. + */ + IMPORT_C static CMceMsrpSink* NewL(); + + /** + * Two-phased constructor. + */ + IMPORT_C static CMceMsrpSink* NewLC(); + + /** + * Destructor. + */ + IMPORT_C ~CMceMsrpSink(); + + public: // From CMceMediaSink + + /** + * Sets the sink enabled. + */ + IMPORT_C void EnableL(); + + /** + * Sets the sink disabled. + */ + IMPORT_C void DisableL(); + + public: // New functions + + /** + * Gets the value for "path" attribute. + */ + IMPORT_C RPointerArray& Path(); + + /** + * Sets the value for "path" attribute. + */ + IMPORT_C void SetPathL( const RPointerArray& aPath ); + + /** + * Gets the values for "accept-types" attribute. + */ + IMPORT_C void AcceptTypesL(CDesC8ArrayFlat& aAcceptTypes); + + /** + * Sets the values for "accept-types" attribute. + */ + IMPORT_C void SetAcceptTypesL( const MDesC8Array& aAcceptTypes ); + + /** + * Gets the values for "accept-wrapped-types" attribute + */ + + IMPORT_C TDes8& AcceptWrappedTypesL(); + + /** + * Sets the values for "accept-wrapped-types" attribute. + * @param aAcceptWrappedTypes list of MIME types that are allowed inside compound types + */ + + IMPORT_C void SetAcceptWrappedTypesL ( const TDes8& aAcceptWrappedTypes ); + + /** + * Sets the values for file-selector attributes ('name', 'type', 'size'). + * @param aName name of the file to be transferred + * @param aPath path of the file to be transferred + */ + IMPORT_C void SetFileSelectorL(const TDesC& aName = KNullDesC, + const TDesC8& aFileType = KNullDesC8, + TUint aSize = 0 ); + + /** + * Sets the value for file-disposition attribute. + * @param aDispositionValue indicate a preferred disposition of the file to be transferred + */ + IMPORT_C void SetFileDispositionL (const TDes8& aDispositionValue); + + /** + * Sets the value for file-transfer-id attribute. + * @returns the value of the file-transfer-id + */ + IMPORT_C void SetFileTransferIdL (TDes8& aId); + + /** + * Sets the information attribue. + * @param aInfo information to be set + */ + IMPORT_C void SetInformationAttrL(const TDes8& aInfo); + + /** + * Set the path to save the received file in file sharing use case + * It is mandatory for the clients to set this path to let + * the MCE know the path where the received file will be shared + * + * @Param aFilePath Holds the path to save the received file + */ + IMPORT_C void SetPathToSaveReceivedFile(const TDesC16& aFilePath); + + /* + * Used to get the file transfer progress notifications like transferred x bytes + * out of total y file size. This is true by default. + * @param enableFlag Default value is ETrue. + */ + IMPORT_C void EnableFileTransferProgressNotifications(TBool enableFlag = ETrue); + + public: // for internal purpose + /** + * + */ + void InitializeL( CMceMediaStream& aParent ); + + + private: + /** + * C++ default constructor. + */ + CMceMsrpSink(); + /** + * C++ parameterized constructor. + */ + + /** + * Second phase constructior. + */ + void ConstructL(); + + /** + * Sets the local media port form the MSRP path attribute + * @par aMsrpUri The Uri from which the port has to be extracted + * @aStream Sets the local media port with the port extracted form the aMsrpUri + */ + void SetPortFromPathAttrL(TUriC8& aMsrpUri, CMceMessageStream& aStream); + + //for testing + + MCE_UNIT_TEST_DEFS + }; + +#endif // CMCEMSRPSINK_H