diff -r ccd8e69b5392 -r 496ad160a278 mmsharing/mmshengine/inc/musengsessionmanager.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mmsharing/mmshengine/inc/musengsessionmanager.h Fri Jun 11 13:36:18 2010 +0300 @@ -0,0 +1,76 @@ +/* +* Copyright (c) 2009 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 CMUSENGSESSIONMANAGER_H +#define CMUSENGSESSIONMANAGER_H + +// INCLUDES +#include "musunittesting.h" +#include "muspropertyobserver.h" +#include +#include + +// FORWARD DECLARATIONS +class MLcSession; +class CMusEngMceSession; +class MLcUiProvider; +class CMusPropertyWatch; + + +class CMusEngSessionManager : public CLcEngine, public MMusPropertyObserver + { + public: + + static CMusEngSessionManager* NewL(); + ~CMusEngSessionManager(); + + public: // From CLcEngine + + MLcSession& Session(); + + TBool IsFeatureSupported( TLcFeature aLcFeature ); + + public: // From MMusPropertyObserver + + virtual void PropertyChanged( const TUint aKey, const TInt aValue ); + + virtual void HandlePropertyError( const TInt aReason ); + + private: // Constructors + + CMusEngSessionManager(); + void ConstructL(); + + private: // New functions + + CMusEngMceSession* CreateMusSessionL( + MultimediaSharing::TMusUseCase aUseCase ); + + private: // Data + + CMusEngMceSession* iSession; + + CMusPropertyWatch* iUseCaseWatch; + + MultimediaSharing::TMusUseCase iCurrentUseCase; + + MUS_UNITTEST( UT_CMusEngSessionManager ) + }; + +#endif // CMUSENGSESSIONMANAGER_H + +// end of file