williamr@4: // Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies). williamr@4: // All rights reserved. williamr@4: // This component and the accompanying materials are made available williamr@4: // under the terms of "Eclipse Public License v1.0" williamr@4: // which accompanies this distribution, and is available williamr@4: // at the URL "http://www.eclipse.org/legal/epl-v10.html". williamr@4: // williamr@4: // Initial Contributors: williamr@4: // Nokia Corporation - initial contribution. williamr@4: // williamr@4: // Contributors: williamr@4: // williamr@4: // Description: williamr@4: // include\mmf\common\mmfipc.inl williamr@4: // williamr@4: // williamr@4: williamr@4: #ifdef __MMF_USE_IPC_V2__ williamr@4: williamr@4: // williamr@4: // CMmfIpcSession williamr@4: // williamr@4: williamr@4: inline void CMmfIpcSession::CreateL(const CMmfIpcServer& /*aServer*/) williamr@4: { williamr@4: // default does nothing williamr@4: } williamr@4: williamr@4: inline void CMmfIpcSession::CreateL() williamr@4: { williamr@4: const CMmfIpcServer* server = static_cast(Server()); williamr@4: CreateL(*server); // simulate CSession::CreateL() call williamr@4: } williamr@4: williamr@4: // williamr@4: // CMmfIcpServer williamr@4: // williamr@4: williamr@4: inline CMmfIpcServer::CMmfIpcServer(TInt aPriority,TServerType aType): williamr@4: CServer2(aPriority,aType) williamr@4: { williamr@4: } williamr@4: williamr@4: inline CSession2* CMmfIpcServer::NewSessionL(const TVersion& aVersion, const RMessage2& /*aMessage*/) const williamr@4: { williamr@4: return NewSessionL(aVersion); williamr@4: } williamr@4: williamr@4: #endif //__MMF_USE_IPC_V2__ williamr@4: williamr@4: // williamr@4: // MmfMessageUtil williamr@4: // williamr@4: williamr@4: inline void MmfMessageUtil::ReadL(const RMmfIpcMessage& aMessage, TInt aParam, TDes8& aResult) williamr@4: { williamr@4: #ifdef __MMF_USE_IPC_V2__ williamr@4: User::LeaveIfError(aMessage.Read(aParam, aResult)); williamr@4: #else williamr@4: // expect aParam to be a literal - so this code should optimise out williamr@4: if (aParam==0) williamr@4: aMessage.ReadL(aMessage.Ptr0(), aResult); williamr@4: else if (aParam==1) williamr@4: aMessage.ReadL(aMessage.Ptr1(), aResult); williamr@4: else if (aParam==2) williamr@4: aMessage.ReadL(aMessage.Ptr2(), aResult); williamr@4: else if (aParam==3) williamr@4: aMessage.ReadL(aMessage.Ptr3(), aResult); williamr@4: else williamr@4: User::Leave(KErrArgument); williamr@4: #endif //__MMF_USE_IPC_V2__ williamr@4: } williamr@4: williamr@4: inline void MmfMessageUtil::WriteL(const RMmfIpcMessage& aMessage, TInt aParam, const TDesC8& aValue) williamr@4: { williamr@4: #ifdef __MMF_USE_IPC_V2__ williamr@4: User::LeaveIfError(aMessage.Write(aParam, aValue)); williamr@4: #else williamr@4: // expect aParam to be a literal - so this code should optimise out williamr@4: if (aParam==0) williamr@4: aMessage.WriteL(aMessage.Ptr0(), aValue); williamr@4: else if (aParam==1) williamr@4: aMessage.WriteL(aMessage.Ptr1(), aValue); williamr@4: else if (aParam==2) williamr@4: aMessage.WriteL(aMessage.Ptr2(), aValue); williamr@4: else if (aParam==3) williamr@4: aMessage.WriteL(aMessage.Ptr3(), aValue); williamr@4: else williamr@4: User::Leave(KErrArgument); williamr@4: #endif //__MMF_USE_IPC_V2__ williamr@4: } williamr@4: williamr@4: inline TInt MmfMessageUtil::Read(const RMmfIpcMessage& aMessage, TInt aParam, TDes8& aResult) williamr@4: { williamr@4: #ifdef __MMF_USE_IPC_V2__ williamr@4: return aMessage.Read(aParam, aResult); williamr@4: #else williamr@4: TRAPD(error, ReadL(aMessage, aParam, aResult)); williamr@4: return error; williamr@4: #endif //__MMF_USE_IPC_V2__ williamr@4: } williamr@4: williamr@4: inline TInt MmfMessageUtil::Write(const RMmfIpcMessage& aMessage, TInt aParam, const TDesC8& aValue) williamr@4: { williamr@4: #ifdef __MMF_USE_IPC_V2__ williamr@4: return aMessage.Write(aParam, aValue); williamr@4: #else williamr@4: TRAPD(error, WriteL(aMessage, aParam, aValue)); williamr@4: return error; williamr@4: #endif //__MMF_USE_IPC_V2__ williamr@4: } williamr@4: williamr@4: williamr@4: williamr@4: