diff -r fb024d5e35fa -r 64c62431ac08 ipappsrv_plat/multimedia_comms_api/inc/mcemsrpsource.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ipappsrv_plat/multimedia_comms_api/inc/mcemsrpsource.h Mon Sep 06 17:32:13 2010 +0530 @@ -0,0 +1,183 @@ +/* +* 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 CMCEMSRPSOURCE_H +#define CMCEMSRPSOURCE_H + +// INCLUDES +#include +#include +#include +#include +#include +#include +#include + +// CONSTANTS +const TMceSourceType KMceMSRPSource = 5; + +// CLASS DECLARATION +/** +* Class representing a MSRP source (RFC 4975). +* +* @lib mceclient.lib +*/ +class CMceMsrpSource: public CMceMediaSource + { + public: // Constructors and destructor + + /** + * Two-phased constructor. + */ + IMPORT_C static CMceMsrpSource* NewL(); + + /** + * Two-phased constructor. + */ + IMPORT_C static CMceMsrpSource* NewLC(); + + /** + * Destructor. + */ + IMPORT_C ~CMceMsrpSource(); + + public: // From CMceMediaSource + + /** + * Sets the source enabled. + */ + IMPORT_C void EnableL(); + + /** + * Sets the source 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, + const TUint aSize = 0 ); + + /** + * Sets the value for file-disposition attribute. + * @param aVar 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 saved + * + * @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 + /** + * Calls to set the local media port from the MSRP URI + * @return Symtem wide error if the path attribute is not set for the aParent + */ + void InitializeL( CMceMediaStream& aParent ); + + private: + + /** + * C++ default constructor. + */ + CMceMsrpSource(); + + /** + * 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 // CMCEMSRPSOURCE_H