diff -r 000000000000 -r 40261b775718 devsound/a3fdevsound/src/mmfdevsoundserver/MmfDevSoundCIDeMuxUtility.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/devsound/a3fdevsound/src/mmfdevsoundserver/MmfDevSoundCIDeMuxUtility.h Tue Feb 02 01:56:55 2010 +0200 @@ -0,0 +1,70 @@ +// 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: +// MMFDevSoundCIDeMuxUtility.cpp +// +// + +#ifndef MMFDEVSOUNDCIDEMUXUTILITY_H +#define MMFDEVSOUNDCIDEMUXUTILITY_H + +#include +#include +#include +#include "mmfdevsoundserverstart.h" +#include "mmfaudioclientserver.h" +#include + + +/** +* @internalTechnology +* @file +*/ + +class CMMFDevSoundCIDeMuxUtility; +NONSHARABLE_CLASS( CMMFDevSoundCIDeMuxUtility ) : public CBase, + public MMMFDevSoundCustomInterfaceDeMuxUtility + { +public: + static CMMFDevSoundCIDeMuxUtility* NewL(MMMFDevSoundCustomInterfaceDeMuxInterface* aInterface); + virtual ~CMMFDevSoundCIDeMuxUtility(); + void ConstructL(); + + // create a custom interface Mux implementation + MMMFDevSoundCustomInterfaceDeMuxPlugin* CreateCustomInterfaceDeMuxL(TUid aInterfaceId); + + // check and process custom commands + TInt ProcessCustomInterfaceCommandL(const RMmfIpcMessage& aMessage); + + // utility functions from MMMFDevSoundCustomInterfaceDeMuxUtility + // get all settings at once into client supplied package + virtual void GetSyncMessageDataL(const RMmfIpcMessage& aMessage, TMMFDevSoundCIMessageData& aData); + virtual void GetAsyncMessageDataL(const RMmfIpcMessage& aMessage, TMMFDevSoundCIMessageData& aData); + + // read and write to input and output descriptors + virtual TInt InputDesLength(const RMmfIpcMessage& aMessage); + virtual void ReadFromInputDesL(const RMmfIpcMessage& aMessage, TDes8* aBufToFill); + virtual void WriteToOutputDesL(const RMmfIpcMessage& aMessage, TDesC8& aBufToWrite); + + // message related + virtual void CompleteMessage(const RMmfIpcMessage& aMessage, TInt aError); +private: + CMMFDevSoundCIDeMuxUtility(MMMFDevSoundCustomInterfaceDeMuxInterface* aInterface); + MMMFDevSoundCustomInterfaceDeMuxInterface* iInterface; + }; + + + + + +#endif