--- a/devsound/devsoundpluginsupport/src/CustomInterfaces/CMMFDevSoundCIBitRate.h Thu Jun 24 10:37:45 2010 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,235 +0,0 @@
-// Copyright (c) 2005-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 CMMFDEVSOUNDCIBITRATE_H
-#define CMMFDEVSOUNDCIBITRATE_H
-
-#include <e32base.h>
-#include <mmf/common/mmfipc.h>
-#ifdef SYMBIAN_ENABLE_SPLIT_HEADERS
-#include <mmf/common/mmfipcserver.h>
-#endif
-#include <mmf/server/mmfdevsoundcustominterface.h>
-#include <mmf/server/mmfdevsoundcustomcommands.h>
-#include <mmf/server/devsoundstandardcustominterfaces.h>
-
-/**
- @internalComponent
- @prototype
- @file
- */
-
-enum TMMFDevSoundCIBitRateCommands
- {
- EMMFDevSoundCIBitRateBitRate = 0,
- EMMFDevSoundCIBitRateSetBitRate,
- EMMFDevSoundCIBitRateGetSupportedBitRates,
- EMMFDevSoundCIBitRateGetSupportedBitRatesArray
- };
-
-/**
- * CMMFDevSoundCIBitRate
- *
- * implementation of the BitRate custom interface pair
- */
-class CMMFDevSoundCIBitRateMux : public CBase,
- public MMMFDevSoundCustomInterfaceMuxPlugin,
- public MMMFDevSoundCustomInterfaceBitRate
- {
-public:
- /**
- Attempt to open the interface.
- @param aInterfaceId
- The UID of the interface to open.
- @return one of the system wide error codes
- */
- virtual TInt OpenInterface(TUid aInterfaceId);
-
- /**
- Equivalent to destructor. Called to destroy plugin.
- */
- virtual void Release();
- /**
- Pass destructor key.
- Called on construction so plugin takes responsibility to call REComSession::DestroyedImplementation()
- @param aDestructorKey
- The Uid returned by REComSession::CreateImplementationL() or similar
- */
- virtual void PassDestructorKey(TUid aDestructorKey);
-
- /**
- Complete construction.
- Pass additional values from the construction phase, used subsequently by the plugin.
- @param aCustomUtility
- The custom interface utility used by the plugin to communicate with the remote
- server side DeMux plugin
- */
- virtual void CompleteConstructL(MMMFDevSoundCustomInterfaceMuxUtility* aCustomUtility);
-
- /**
- Return the custom interface
- @param aInterfaceId
- The UID of the required custom interface
- @return the custom interface supported by this plugin
- */
- virtual TAny* CustomInterface(TUid aInterfaceId);
-
- /**
- Instantiate a CMMFDevSoundCIBitRateMux class
- @return the pointer to the new class, cast to the Mux plugin mixin
- */
- static MMMFDevSoundCustomInterfaceMuxPlugin* NewL();
-
-protected:
- // from MMMFDevSoundCustomInterfaceBitRate
- virtual void GetSupportedBitRatesL(RArray<TInt>& aSupportedBitRates);
- virtual TInt BitRateL();
- virtual void SetBitRateL(TInt aBitRate);
-
- CMMFDevSoundCIBitRateMux();
- ~CMMFDevSoundCIBitRateMux();
-
-protected:
- TUid iKey;
- TInt iRemoteHandle;
- MMMFDevSoundCustomInterfaceMuxUtility* iUtility;
- };
-
-
-/**
- * DeMux side of pair
- */
-
-class CMMFDevSoundCIBitRateDeMux : public CBase,
- public MMMFDevSoundCustomInterfaceDeMuxPlugin
- {
-public:
- /**
- Instantiate a CMMFDevSoundCIBitRateDeMux class
- @return a pointer to the new class cast to the DeMux plugin mixin
- */
- static MMMFDevSoundCustomInterfaceDeMuxPlugin* NewL();
-
- /**
- Attempt to open the interface.
- @param aInterfaceId
- The UID of the interface to open.
- @return a handle to the remote plugin
- */
- virtual TInt OpenInterface(TUid aInterfaceId);
-
- /**
- Equivalent to destructor. Called to destroy plugin.
- */
- virtual void Release();
- /**
- Pass destructor key.
- Called on construction so plugin takes responsibility to call REComSession::DestroyedImplementation()
- @param aDestructorKey
- The Uid returned by REComSession::CreateImplementationL() or similar
- */
- virtual void PassDestructorKey(TUid aDestructorKey);
-
- /**
- Set the target of the custom interface call
- @param aTarget
- The DevSound to call the custom interface on.
- */
- virtual void SetInterfaceTarget(MMMFDevSoundCustomInterfaceTarget* aTarget);
-
- /**
- Complete construction.
- @param aUtility
- The DeMux utility to use
- */
- virtual void CompleteConstructL(MMMFDevSoundCustomInterfaceDeMuxUtility* aUtility);
-
- /**
- Refresh the current custom interface connections
- */
- virtual void RefreshL();
-
- // from MMMFDeMuxInterface
- /**
- Open the slave
- @param aInterface
- The UID of the requested interface
- @param aPackageBuf
- A package of data that can be supplied for initialisation
- @return the result of the operation
- */
- virtual TInt DoOpenSlaveL(TUid aInterface, const TDesC8& aPackageBuf);
-
- /**
- Close the slave
- @param aHandle
- The handle of the slave plugin
- */
- virtual void DoCloseSlaveL(TInt aHandle);
-
- // original RMessage is supplied so that remote demux plugin can extract necessary details
- // using DeMux utility
-
- /**
- Relay the synchronous custom command onto the slave
- @param aMessage
- The IPC message to be sent to the slave
- @return the result of the operation
- */
- virtual TInt DoSendSlaveSyncCommandL(const RMmfIpcMessage& aMessage);
-
- /**
- Relay the synchronous custom command onto the slave and obtain a result
- @param aMessage
- The IPC message to be sent to the slave
- @return the result of the operation
- */
- virtual TInt DoSendSlaveSyncCommandResultL(const RMmfIpcMessage& aMessage);
-
- /**
- Relay an asynchronous command onto the slave
- @param aMessage
- The IPC message to be sent to the slave
- */
- virtual void DoSendSlaveAsyncCommandL(const RMmfIpcMessage& aMessage);
-
- /**
- Relay an asynchronous command onto the slave and obtain a result
- @param aMessage
- The IPC message to be sent to the slave@param aMessage
- */
- virtual void DoSendSlaveAsyncCommandResultL(const RMmfIpcMessage& aMessage);
-
-protected:
- ~CMMFDevSoundCIBitRateDeMux();
- CMMFDevSoundCIBitRateDeMux();
-
- // implementation of bitrate custom interface
- void DoGetSupportedBitRatesL(RArray<TInt>& aSupportedBitRates);
- void DoCopyBitRateBufferToClientL(const RMmfIpcMessage& aMessage);
- TInt DoBitRateL();
- void DoSetBitRateL(TInt aBitRate);
-
-protected:
- MMMFDevSoundCustomInterfaceDeMuxUtility* iUtility;
- MMMFDevSoundCustomInterfaceTarget* iTarget;
- MMMFDevSoundCustomInterfaceBitRate* iBitRateInterface;
- TUid iKey;
-
- // array for bitrates
- RArray<TInt> iBitRateArray;
- };
-
-#endif