os/mm/mmlibs/mmfw/inc/mmf/common/MmfIpc.inl
changeset 0 bde4ae8d615e
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/os/mm/mmlibs/mmfw/inc/mmf/common/MmfIpc.inl	Fri Jun 15 03:10:57 2012 +0200
     1.3 @@ -0,0 +1,326 @@
     1.4 +// Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
     1.5 +// All rights reserved.
     1.6 +// This component and the accompanying materials are made available
     1.7 +// under the terms of "Eclipse Public License v1.0"
     1.8 +// which accompanies this distribution, and is available
     1.9 +// at the URL "http://www.eclipse.org/legal/epl-v10.html".
    1.10 +//
    1.11 +// Initial Contributors:
    1.12 +// Nokia Corporation - initial contribution.
    1.13 +//
    1.14 +// Contributors:
    1.15 +//
    1.16 +// Description:
    1.17 +// include\mmf\common\mmfipc.inl
    1.18 +// 
    1.19 +//
    1.20 +
    1.21 +
    1.22 +//
    1.23 +// RMmfSessionBase
    1.24 +//
    1.25 +
    1.26 +inline TInt RMmfSessionBase::SendReceive(TInt aFunction) const
    1.27 +	{
    1.28 +	return RSessionBase::SendReceive(aFunction);
    1.29 +	}
    1.30 +
    1.31 +inline void RMmfSessionBase::SendReceive(TInt aFunction, TRequestStatus& aStatus) const
    1.32 +	{
    1.33 +	RSessionBase::SendReceive(aFunction,aStatus);
    1.34 +	}
    1.35 +
    1.36 +// Integer Send calls
    1.37 +
    1.38 +inline TInt RMmfSessionBase::SendReceive(TInt aFunction, TInt aParam0) const
    1.39 +	{
    1.40 +#ifdef __MMF_USE_IPC_V2__
    1.41 +	return RSessionBase::SendReceive(aFunction, TIpcArgs(aParam0));
    1.42 +#else
    1.43 +	TInt p[KMaxMessageArguments];
    1.44 +	p[0] = aParam0;
    1.45 +	p[1] = 0;
    1.46 +	p[2] = 0;
    1.47 +	p[3] = 0;
    1.48 +	return RSessionBase::SendReceive(aFunction, p);
    1.49 +#endif //__MMF_USE_IPC_V2__
    1.50 +	}
    1.51 +
    1.52 +inline TInt RMmfSessionBase::SendReceive(TInt aFunction, TInt aParam0, TInt aParam1) const
    1.53 +	{
    1.54 +#ifdef __MMF_USE_IPC_V2__
    1.55 +	return RSessionBase::SendReceive(aFunction, TIpcArgs(aParam0,aParam1));
    1.56 +#else
    1.57 +	TInt p[KMaxMessageArguments];
    1.58 +	p[0] = aParam0;
    1.59 +	p[1] = aParam1;
    1.60 +	p[2] = 0;
    1.61 +	p[3] = 0;
    1.62 +	return RSessionBase::SendReceive(aFunction, p);
    1.63 +#endif //__MMF_USE_IPC_V2__
    1.64 +	}
    1.65 +
    1.66 +inline void RMmfSessionBase::SendReceive(TInt aFunction, TInt aParam0, TRequestStatus& aStatus) const
    1.67 +	{
    1.68 +#ifdef __MMF_USE_IPC_V2__
    1.69 +	RSessionBase::SendReceive(aFunction, TIpcArgs(aParam0), aStatus);
    1.70 +#else
    1.71 +	TInt p[KMaxMessageArguments];
    1.72 +	p[0] = aParam0;
    1.73 +	p[1] = 0;
    1.74 +	p[2] = 0;
    1.75 +	p[3] = 0;
    1.76 +	RSessionBase::SendReceive(aFunction, p, aStatus);
    1.77 +#endif //__MMF_USE_IPC_V2__
    1.78 +	}
    1.79 +
    1.80 +inline void RMmfSessionBase::SendReceive(TInt aFunction, TInt aParam0, TInt aParam1, TRequestStatus& aStatus) const
    1.81 +	{
    1.82 +#ifdef __MMF_USE_IPC_V2__
    1.83 +	RSessionBase::SendReceive(aFunction, TIpcArgs(aParam0,aParam1), aStatus);
    1.84 +#else
    1.85 +	TInt p[KMaxMessageArguments];
    1.86 +	p[0] = aParam0;
    1.87 +	p[1] = aParam1;
    1.88 +	p[2] = 0;
    1.89 +	p[3] = 0;
    1.90 +	RSessionBase::SendReceive(aFunction, p, aStatus);
    1.91 +#endif //__MMF_USE_IPC_V2__
    1.92 +	}
    1.93 +
    1.94 +// Descriptor Send calls....
    1.95 +
    1.96 +inline TInt RMmfSessionBase::SendReceive(TInt aFunction, const TDesC8& aParam0) const
    1.97 +	{
    1.98 +#ifdef __MMF_USE_IPC_V2__
    1.99 +	return RSessionBase::SendReceive(aFunction, TIpcArgs(&aParam0));
   1.100 +#else
   1.101 +	TAny* p[KMaxMessageArguments];
   1.102 +	p[0] = static_cast<TAny*>(const_cast<TDesC8*>(&aParam0));
   1.103 +	p[1] = NULL;
   1.104 +	p[2] = NULL;
   1.105 +	p[3] = NULL;
   1.106 +	return RSessionBase::SendReceive(aFunction, p);
   1.107 +#endif //__MMF_USE_IPC_V2__
   1.108 +	}
   1.109 +
   1.110 +inline TInt RMmfSessionBase::SendReceive(TInt aFunction, const TDesC8& aParam0, const TDesC8& aParam1) const
   1.111 +	{
   1.112 +#ifdef __MMF_USE_IPC_V2__
   1.113 +	return RSessionBase::SendReceive(aFunction, TIpcArgs(&aParam0,&aParam1));
   1.114 +#else
   1.115 +	TAny* p[KMaxMessageArguments];
   1.116 +	p[0] = static_cast<TAny*>(const_cast<TDesC8*>(&aParam0));
   1.117 +	p[1] = static_cast<TAny*>(const_cast<TDesC8*>(&aParam1));
   1.118 +	p[2] = NULL;
   1.119 +	p[3] = NULL;
   1.120 +	return RSessionBase::SendReceive(aFunction, p);
   1.121 +#endif //__MMF_USE_IPC_V2__
   1.122 +	}
   1.123 +
   1.124 +inline TInt RMmfSessionBase::SendReceive(TInt aFunction, const TDesC8& aParam0, const TDesC8& aParam1, const TDesC8& aParam2) const
   1.125 +	{
   1.126 +#ifdef __MMF_USE_IPC_V2__
   1.127 +	return RSessionBase::SendReceive(aFunction, TIpcArgs(&aParam0,&aParam1,&aParam2));
   1.128 +#else
   1.129 +	TAny* p[KMaxMessageArguments];
   1.130 +	p[0] = static_cast<TAny*>(const_cast<TDesC8*>(&aParam0));
   1.131 +	p[1] = static_cast<TAny*>(const_cast<TDesC8*>(&aParam1));
   1.132 +	p[2] = static_cast<TAny*>(const_cast<TDesC8*>(&aParam2));
   1.133 +	p[3] = NULL;
   1.134 +	return RSessionBase::SendReceive(aFunction, p);
   1.135 +#endif //__MMF_USE_IPC_V2__
   1.136 +	}
   1.137 +
   1.138 +inline void RMmfSessionBase::SendReceive(TInt aFunction, const TDesC8& aParam0, TRequestStatus& aStatus) const
   1.139 +	{
   1.140 +#ifdef __MMF_USE_IPC_V2__
   1.141 +	RSessionBase::SendReceive(aFunction, TIpcArgs(&aParam0), aStatus);
   1.142 +#else
   1.143 +	TAny* p[KMaxMessageArguments];
   1.144 +	p[0] = static_cast<TAny*>(const_cast<TDesC8*>(&aParam0));
   1.145 +	p[1] = NULL;
   1.146 +	p[2] = NULL;
   1.147 +	p[3] = NULL;
   1.148 +	RSessionBase::SendReceive(aFunction, p, aStatus);
   1.149 +#endif //__MMF_USE_IPC_V2__
   1.150 +	}
   1.151 +
   1.152 +inline void RMmfSessionBase::SendReceive(TInt aFunction, const TDesC8& aParam0, const TDesC8& aParam1, TRequestStatus& aStatus) const
   1.153 +	{
   1.154 +#ifdef __MMF_USE_IPC_V2__
   1.155 +	RSessionBase::SendReceive(aFunction, TIpcArgs(&aParam0,&aParam1), aStatus);
   1.156 +#else
   1.157 +	TAny* p[KMaxMessageArguments];
   1.158 +	p[0] = static_cast<TAny*>(const_cast<TDesC8*>(&aParam0));
   1.159 +	p[1] = static_cast<TAny*>(const_cast<TDesC8*>(&aParam1));
   1.160 +	p[2] = NULL;
   1.161 +	p[3] = NULL;
   1.162 +	RSessionBase::SendReceive(aFunction, p, aStatus);
   1.163 +#endif //__MMF_USE_IPC_V2__
   1.164 +	}
   1.165 +
   1.166 +inline void RMmfSessionBase::SendReceive(TInt aFunction, const TDesC8& aParam0, const TDesC8& aParam1, const TDesC8& aParam2, TRequestStatus& aStatus) const
   1.167 +	{
   1.168 +#ifdef __MMF_USE_IPC_V2__
   1.169 +	RSessionBase::SendReceive(aFunction, TIpcArgs(&aParam0,&aParam1,&aParam2), aStatus);
   1.170 +#else
   1.171 +	TAny* p[KMaxMessageArguments];
   1.172 +	p[0] = static_cast<TAny*>(const_cast<TDesC8*>(&aParam0));
   1.173 +	p[1] = static_cast<TAny*>(const_cast<TDesC8*>(&aParam1));
   1.174 +	p[2] = static_cast<TAny*>(const_cast<TDesC8*>(&aParam2));
   1.175 +	p[3] = NULL;
   1.176 +	RSessionBase::SendReceive(aFunction, p, aStatus);
   1.177 +#endif //__MMF_USE_IPC_V2__
   1.178 +	}
   1.179 +
   1.180 +// Descriptor Send&Result calls
   1.181 +
   1.182 +inline TInt RMmfSessionBase::SendReceiveResult(TInt aFunction, TDes8& aResult) const
   1.183 +	{
   1.184 +#ifdef __MMF_USE_IPC_V2__
   1.185 +	return RSessionBase::SendReceive(aFunction, TIpcArgs(&aResult));
   1.186 +#else
   1.187 +	TAny* p[KMaxMessageArguments];
   1.188 +	p[0] = static_cast<TAny*>(&aResult);
   1.189 +	p[1] = NULL;
   1.190 +	p[2] = NULL;
   1.191 +	p[3] = NULL;
   1.192 +	return RSessionBase::SendReceive(aFunction, p);
   1.193 +#endif //__MMF_USE_IPC_V2__
   1.194 +	}
   1.195 +
   1.196 +inline TInt RMmfSessionBase::SendReceiveResult(TInt aFunction, const TDesC8& aParam0, const TDesC8& aParam1, TDes8& aResult) const
   1.197 +	{
   1.198 +#ifdef __MMF_USE_IPC_V2__
   1.199 +	return RSessionBase::SendReceive(aFunction, TIpcArgs(&aParam0,&aParam1,&aResult));
   1.200 +#else
   1.201 +	TAny* p[KMaxMessageArguments];
   1.202 +	p[0] = static_cast<TAny*>(const_cast<TDesC8*>(&aParam0));
   1.203 +	p[1] = static_cast<TAny*>(const_cast<TDesC8*>(&aParam1));
   1.204 +	p[2] = static_cast<TAny*>(&aResult);
   1.205 +	p[3] = NULL;
   1.206 +	return RSessionBase::SendReceive(aFunction, p);
   1.207 +#endif //__MMF_USE_IPC_V2__
   1.208 +	}
   1.209 +
   1.210 +inline TInt RMmfSessionBase::SendReceiveResult(TInt aFunction, const TDesC8& aParam0, const TDesC8& aParam1, const TDesC8& aParam2, TDes8& aResult) const
   1.211 +	{
   1.212 +#ifdef __MMF_USE_IPC_V2__
   1.213 +	return RSessionBase::SendReceive(aFunction, TIpcArgs(&aParam0,&aParam1,&aParam2,&aResult));
   1.214 +#else
   1.215 +	TAny* p[KMaxMessageArguments];
   1.216 +	p[0] = static_cast<TAny*>(const_cast<TDesC8*>(&aParam0));
   1.217 +	p[1] = static_cast<TAny*>(const_cast<TDesC8*>(&aParam1));
   1.218 +	p[2] = static_cast<TAny*>(const_cast<TDesC8*>(&aParam2));
   1.219 +	p[3] = static_cast<TAny*>(&aResult);
   1.220 +	return RSessionBase::SendReceive(aFunction, p);
   1.221 +#endif //__MMF_USE_IPC_V2__
   1.222 +	}
   1.223 +
   1.224 +inline void RMmfSessionBase::SendReceiveResult(TInt aFunction, TDes8& aResult, TRequestStatus& aStatus) const
   1.225 +	{
   1.226 +#ifdef __MMF_USE_IPC_V2__
   1.227 +	RSessionBase::SendReceive(aFunction, TIpcArgs(&aResult), aStatus);
   1.228 +#else
   1.229 +	TAny* p[KMaxMessageArguments];
   1.230 +	p[0] = static_cast<TAny*>(&aResult);
   1.231 +	p[1] = NULL;
   1.232 +	p[2] = NULL;
   1.233 +	p[3] = NULL;
   1.234 +	RSessionBase::SendReceive(aFunction, p, aStatus);
   1.235 +#endif //__MMF_USE_IPC_V2__
   1.236 +	}
   1.237 +
   1.238 +inline void RMmfSessionBase::SendReceiveResult(TInt aFunction, const TDesC8& aParam0, const TDesC8& aParam1, TDes8& aResult, TRequestStatus& aStatus) const
   1.239 +	{
   1.240 +#ifdef __MMF_USE_IPC_V2__
   1.241 +	RSessionBase::SendReceive(aFunction, TIpcArgs(&aParam0,&aParam1,&aResult), aStatus);
   1.242 +#else
   1.243 +	TAny* p[KMaxMessageArguments];
   1.244 +	p[0] = static_cast<TAny*>(const_cast<TDesC8*>(&aParam0));
   1.245 +	p[1] = static_cast<TAny*>(const_cast<TDesC8*>(&aParam1));
   1.246 +	p[2] = static_cast<TAny*>(&aResult);
   1.247 +	p[3] = NULL;
   1.248 +	RSessionBase::SendReceive(aFunction, p, aStatus);
   1.249 +#endif //__MMF_USE_IPC_V2__
   1.250 +	}
   1.251 +
   1.252 +inline void RMmfSessionBase::SendReceiveResult(TInt aFunction, const TDesC8& aParam0, const TDesC8& aParam1, const TDesC8& aParam2, TDes8& aResult, TRequestStatus& aStatus) const
   1.253 +	{
   1.254 +#ifdef __MMF_USE_IPC_V2__
   1.255 +	RSessionBase::SendReceive(aFunction, TIpcArgs(&aParam0,&aParam1,&aParam2,&aResult), aStatus);
   1.256 +#else
   1.257 +	TAny* p[KMaxMessageArguments];
   1.258 +	p[0] = static_cast<TAny*>(const_cast<TDesC8*>(&aParam0));
   1.259 +	p[1] = static_cast<TAny*>(const_cast<TDesC8*>(&aParam1));
   1.260 +	p[2] = static_cast<TAny*>(const_cast<TDesC8*>(&aParam2));
   1.261 +	p[3] = static_cast<TAny*>(&aResult);
   1.262 +	RSessionBase::SendReceive(aFunction, p, aStatus);
   1.263 +#endif //__MMF_USE_IPC_V2__
   1.264 +	}
   1.265 +	
   1.266 +//TDesC versions
   1.267 +
   1.268 +inline void RMmfSessionBase::SendReceive(TInt aFunction, const TDesC& aParam0, TRequestStatus& aStatus) const
   1.269 +	{
   1.270 +#ifdef __MMF_USE_IPC_V2__
   1.271 +	RSessionBase::SendReceive(aFunction, TIpcArgs(&aParam0), aStatus);
   1.272 +#else
   1.273 +	TAny* p[KMaxMessageArguments];
   1.274 +	p[0] = static_cast<TAny*>(const_cast<TDesC8*>(&aParam0));
   1.275 +	p[1] = NULL;
   1.276 +	p[2] = NULL;
   1.277 +	p[3] = NULL;
   1.278 +	RSessionBase::SendReceive(aFunction, p, aStatus);
   1.279 +#endif //__MMF_USE_IPC_V2__
   1.280 +	}
   1.281 +
   1.282 +inline TInt RMmfSessionBase::SendReceive(TInt aFunction, const TDesC& aParam0) const
   1.283 +	{
   1.284 +#ifdef __MMF_USE_IPC_V2__
   1.285 +	return RSessionBase::SendReceive(aFunction, TIpcArgs(&aParam0));
   1.286 +#else
   1.287 +	TAny* p[KMaxMessageArguments];
   1.288 +	p[0] = static_cast<TAny*>(const_cast<TDesC8*>(&aParam0));
   1.289 +	p[1] = NULL;
   1.290 +	p[2] = NULL;
   1.291 +	p[3] = NULL;
   1.292 +	return RSessionBase::SendReceive(aFunction, p);
   1.293 +#endif //__MMF_USE_IPC_V2__
   1.294 +	}
   1.295 +
   1.296 +inline TInt RMmfSessionBase::SendReceiveResult(TInt aFunction, const TDesC8& aParam0, const TDesC8& aParam1, TDes& aResult) const
   1.297 +	{
   1.298 +#ifdef __MMF_USE_IPC_V2__
   1.299 +	return RSessionBase::SendReceive(aFunction, TIpcArgs(&aParam0,&aParam1,&aResult));
   1.300 +#else
   1.301 +	TAny* p[KMaxMessageArguments];
   1.302 +	p[0] = static_cast<TAny*>(const_cast<TDesC8*>(&aParam0));
   1.303 +	p[1] = static_cast<TAny*>(const_cast<TDesC8*>(&aParam1));
   1.304 +	p[2] = static_cast<TAny*>(&aResult);
   1.305 +	p[3] = NULL;
   1.306 +	return RSessionBase::SendReceive(aFunction, p);
   1.307 +#endif //__MMF_USE_IPC_V2__
   1.308 +	}
   1.309 +
   1.310 +// assuming IPC_V2
   1.311 +inline TInt RMmfSessionBase::SendReceive(TInt aFunction, TInt aParam0, const TDesC8& aParam1, const TDesC8& aParam2) const
   1.312 +	{
   1.313 +	return RSessionBase::SendReceive(aFunction, TIpcArgs(aParam0, &aParam1, &aParam2));
   1.314 +	}
   1.315 +
   1.316 +inline TInt RMmfSessionBase::SendReceiveResult(TInt aFunction, TInt aParam0, const TDesC8& aParam1, const TDesC8& aParam2, TDes8& aResult) const
   1.317 +	{
   1.318 +	return RSessionBase::SendReceive(aFunction, TIpcArgs(aParam0, &aParam1, &aParam2, &aResult));
   1.319 +	}
   1.320 +
   1.321 +inline void RMmfSessionBase::SendReceive(TInt aFunction, TInt aParam0, const TDesC8& aParam1, const TDesC8& aParam2, TRequestStatus& aStatus) const
   1.322 +	{
   1.323 +	return RSessionBase::SendReceive(aFunction, TIpcArgs(aParam0, &aParam1, &aParam2), aStatus);
   1.324 +	}
   1.325 +
   1.326 +inline void RMmfSessionBase::SendReceiveResult(TInt aFunction, TInt aParam0, const TDesC8& aParam1, const TDesC8& aParam2, TDes8& aResult, TRequestStatus& aStatus) const
   1.327 +	{
   1.328 +	return RSessionBase::SendReceive(aFunction, TIpcArgs(aParam0, &aParam1, &aParam2, &aResult), aStatus);
   1.329 +	}