--- /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<const CMmfIpcServer*>(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__
+ }
+
+
+
+