diff -r e1b950c65cb4 -r 837f303aceeb epoc32/include/mmf/common/mmfipcserver.inl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/epoc32/include/mmf/common/mmfipcserver.inl Wed Mar 31 12:33:34 2010 +0100 @@ -0,0 +1,115 @@ +// Copyright (c) 2003-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: +// include\mmf\common\mmfipc.inl +// +// + +#ifdef __MMF_USE_IPC_V2__ + +// +// CMmfIpcSession +// + +inline void CMmfIpcSession::CreateL(const CMmfIpcServer& /*aServer*/) + { + // default does nothing + } + +inline void CMmfIpcSession::CreateL() + { + const CMmfIpcServer* server = static_cast(Server()); + CreateL(*server); // simulate CSession::CreateL() call + } + +// +// CMmfIcpServer +// + +inline CMmfIpcServer::CMmfIpcServer(TInt aPriority,TServerType aType): + CServer2(aPriority,aType) + { + } + +inline CSession2* CMmfIpcServer::NewSessionL(const TVersion& aVersion, const RMessage2& /*aMessage*/) const + { + return NewSessionL(aVersion); + } + +#endif //__MMF_USE_IPC_V2__ + +// +// MmfMessageUtil +// + +inline void MmfMessageUtil::ReadL(const RMmfIpcMessage& aMessage, TInt aParam, TDes8& aResult) + { +#ifdef __MMF_USE_IPC_V2__ + User::LeaveIfError(aMessage.Read(aParam, aResult)); +#else + // expect aParam to be a literal - so this code should optimise out + if (aParam==0) + aMessage.ReadL(aMessage.Ptr0(), aResult); + else if (aParam==1) + aMessage.ReadL(aMessage.Ptr1(), aResult); + else if (aParam==2) + aMessage.ReadL(aMessage.Ptr2(), aResult); + else if (aParam==3) + aMessage.ReadL(aMessage.Ptr3(), aResult); + else + User::Leave(KErrArgument); +#endif //__MMF_USE_IPC_V2__ + } + +inline void MmfMessageUtil::WriteL(const RMmfIpcMessage& aMessage, TInt aParam, const TDesC8& aValue) + { +#ifdef __MMF_USE_IPC_V2__ + User::LeaveIfError(aMessage.Write(aParam, aValue)); +#else + // expect aParam to be a literal - so this code should optimise out + if (aParam==0) + aMessage.WriteL(aMessage.Ptr0(), aValue); + else if (aParam==1) + aMessage.WriteL(aMessage.Ptr1(), aValue); + else if (aParam==2) + aMessage.WriteL(aMessage.Ptr2(), aValue); + else if (aParam==3) + aMessage.WriteL(aMessage.Ptr3(), aValue); + else + User::Leave(KErrArgument); +#endif //__MMF_USE_IPC_V2__ + } + +inline TInt MmfMessageUtil::Read(const RMmfIpcMessage& aMessage, TInt aParam, TDes8& aResult) + { +#ifdef __MMF_USE_IPC_V2__ + return aMessage.Read(aParam, aResult); +#else + TRAPD(error, ReadL(aMessage, aParam, aResult)); + return error; +#endif //__MMF_USE_IPC_V2__ + } + +inline TInt MmfMessageUtil::Write(const RMmfIpcMessage& aMessage, TInt aParam, const TDesC8& aValue) + { +#ifdef __MMF_USE_IPC_V2__ + return aMessage.Write(aParam, aValue); +#else + TRAPD(error, WriteL(aMessage, aParam, aValue)); + return error; +#endif //__MMF_USE_IPC_V2__ + } + + + +