devsound/devsoundpluginsupport/src/CustomInterfaces/CMMFDevSoundCIBitRate.h
changeset 29 eb1e5d7cc688
parent 26 c36d67f77f75
child 30 9707f1c07383
--- 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