diff -r 33a5d2bbf6fc -r 73a1feb507fb mmsharing/livecommsui/lcui/tsrc/mustester/Stubs/mceclientstub/inc/mceaudiostream.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mmsharing/livecommsui/lcui/tsrc/mustester/Stubs/mceclientstub/inc/mceaudiostream.h Tue Aug 31 15:12:07 2010 +0300 @@ -0,0 +1,122 @@ +/* +* Copyright (c) 2005 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 CMCEAUDIOSTREAM_H +#define CMCEAUDIOSTREAM_H + +// INCLUDES +#include +#include + +// CONSTANTS +const TMceMediaType KMceAudio = 1; + +// FORWARD DECLARATIONS +class CMceAudioCodec; + +// CLASS DECLARATION + +/** +* Class for representing unidirectional audio stream. +* +* It defines the used audio codecs for the stream. +* In order to be complete structure, at least one codec is required. +* +* @lib mceclient.lib +*/ +class CMceAudioStream: public CMceMediaStream + { + public: // Constructors and destructor + + /** + * Two-phased constructor. + */ + IMPORT_C static CMceAudioStream* NewL(); + + /** + * Two-phased constructor. + */ + IMPORT_C static CMceAudioStream* NewLC(); + + /** + * Destructor. + */ + IMPORT_C ~CMceAudioStream(); + + public: // Functions + + /** + * Returns the available codecs to the session. + * For CMEOutSession, array contains all codecs supported by + * terminal in default. For CMEInSession, array contains codecs + * that were offered by remote terminal, and supported by local terminal. + * @return codecs available for the session. + */ + IMPORT_C const RPointerArray& Codecs(); + + /** + * Adds codec to the stream, ownership is transferred. + * @param aCodec codec added to the stream + */ + IMPORT_C void AddCodecL( CMceAudioCodec* aCodec ); + + /** + * Removes codec from the stream + * @param aCodec codec removed from stream + */ + IMPORT_C void RemoveCodecL( CMceAudioCodec& aCodec ); + + + public: //from CMceMediaStream + + /** + * Initializes + * @param aParent the parent + */ + void InitializeL( CMceSession& aParent ); + + /** + * Initializes + * @param aManager the manager. Ownership is NOT transferred + */ + void InitializeL( CMceManager* aManager ); + + + private: //methods + + /** + * C++ default constructor. + */ + CMceAudioStream(); + + /** + * Second-phase constructor. + */ + void ConstructL(); + + + private: // Owned data + + /** + * codecs + */ + RPointerArray iCodecs; + + }; + +#endif