imagingtestenv/imagingtestfw/include/TestFrameworkIpc.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Wed, 25 Aug 2010 12:29:52 +0300
changeset 0 5752a19fdefe
permissions -rw-r--r--
Revision: 201033

// 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:
// Extensions to mmfipc. for testframework - support Des16's as well as Des8's
// 
//

#ifndef __TESTFRAMEWORKIPC_H__
#define __TESTFRAMEWORKIPC_H__

#include <mmf/common/mmfipc.h>
#ifdef SYMBIAN_ENABLE_SPLIT_HEADERS
#include <mmf/common/mmfipcserver.h>
#endif
/**
 * Add additional SendReceive() call to RMmfSessionBase.
 * This class adds a TDesC16 call to the standard set.
 *
 * @internalTechnology
 */
 
class RMmfSessionBaseX : public RMmfSessionBase
	{
protected:
	// following replaces "using RMmfSessionBase::SendReceive;" since does not work on gcc
	TInt SendReceive(TInt aFunction) const;
	void SendReceive(TInt aFunction, TRequestStatus& aStatus) const;
	TInt SendReceive(TInt aFunction, TInt aParam0) const;
	TInt SendReceive(TInt aFunction, TInt aParam0, TInt aParam1) const;
	void SendReceive(TInt aFunction, TInt aParam0, TRequestStatus& aStatus) const;
	void SendReceive(TInt aFunction, TInt aParam0, TInt aParam1, TRequestStatus& aStatus) const;
	TInt SendReceive(TInt aFunction, const TDesC8& aParam0) const;
	TInt SendReceive(TInt aFunction, const TDesC8& aParam0, const TDesC8& aParam1) const;
	TInt SendReceive(TInt aFunction, const TDesC8& aParam0, const TDesC8& aParam1, const TDesC8& aParam2) const;
	void SendReceive(TInt aFunction, const TDesC8& aParam0, TRequestStatus& aStatus) const;
	void SendReceive(TInt aFunction, const TDesC8& aParam0, const TDesC8& aParam1, TRequestStatus& aStatus) const;
	void SendReceive(TInt aFunction, const TDesC8& aParam0, const TDesC8& aParam1, const TDesC8& aParam2, TRequestStatus& aStatus) const;

	// additional call
	TInt SendReceive(TInt aFunction, const TDesC& aParam0, TInt aParam1) const;
	};

/**
 * Add additional calls to MmfMessageUtil.
 * This class adds TDes(C)16 calls to the basic set.
 * 
 * @internalTechnology
 */

class MmfMessageUtilX : public MmfMessageUtil
	{
public:
	// import existing API
	// the following replaces "using MmfMessageUtil::..." since that does not on gcc
	static TInt Read(const RMmfIpcMessage& aMessage, TInt aParam, TDes8& aResult);
	static TInt Write(const RMmfIpcMessage& aMessage, TInt aParam, const TDesC8& aValue);
	static void ReadL(const RMmfIpcMessage& aMessage, TInt aParam, TDes8& aResult);
	static void WriteL(const RMmfIpcMessage& aMessage, TInt aParam, const TDesC8& aValue);

	// new 16-bit descriptor variants
	static TInt Read(const RMmfIpcMessage& aMessage, TInt aParam, TDes16& aResult);
	static TInt Write(const RMmfIpcMessage& aMessage, TInt aParam, const TDesC16& aValue);
	static void ReadL(const RMmfIpcMessage& aMessage, TInt aParam, TDes16& aResult);
	static void WriteL(const RMmfIpcMessage& aMessage, TInt aParam, const TDesC16& aValue);
	};

#include <testframeworkipc.inl>

#endif // __TESTFRAMEWORKIPC_H__