obex/obexprotocol/obex/test/tobex/TOBEXCON.H
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Tue, 02 Feb 2010 01:11:40 +0200
changeset 0 d0791faffa3f
permissions -rw-r--r--
Revision: 201003 Kit: 201005

// Copyright (c) 2005-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:
//

#ifndef _TOBEXCON_H
#define _TOBEXCON_H

#include <e32test.h>
#include <e32cons.h>
#include <irdaextensions.h>
#include <obex.h>
#include <btmanclient.h>
#include <obex/internal/obexinternalheader.h>
#include <obex/internal/obexinternalconstants.h>
#include <btsdp.h>
#include <obexfinalpacketobserver.h>
#include "constants.h"


class CObexClientHandler;
class CObexServerHandler;
class CObexServerHandlerFile;
class CReferenceHandler;

class CActiveConsole : public CActive
//-----------------------------------
	{
public:
	  // Construction
	CActiveConsole(CConsoleBase* aConsole);
	static CActiveConsole* NewLC(CConsoleBase* aConsole);
	void ConstructL();

	  // Destruction
	~CActiveConsole();

	  // Issue request
	void RequestCharacter();
	
	  // Cancel request.
	  // Defined as pure virtual by CActive;
	  // implementation provided by this class.
	void DoCancel();

	  // Service completed request.
	  // Defined as pure virtual by CActive;
	  // implementation provided by this class,
	void RunL();

	void ProcessKeyPressL(TChar aChar);

	CConsoleBase* Console();
	void SetPassword(TDes& aPassword);
	void SetInboxRoot();
	TBool DisplayHeaders();
	void GetString(TDes& aPassword);
	TBool SetNumber(TUint& aNumber);
	void ClientErrored();
	
	TBool UseIrdaNickname() const;
	const TDesC& GetIrdaNickname() const;
	 
public:
	  // Data members defined by this class
	CConsoleBase*			iConsole;					// A console for reading from
	CObexClientHandler*		iObexClientHandler;	// Client wrapper for CObexClient
	CObexServerHandler*		iObexServerHandler;	// Client wrapper for CObexServer
	CObexServerHandlerFile*	iObexServerHandlerFile; //Client wrapper for CObexServer
	TUint					iTestMode;
	TTransport				iTransport;
	CReferenceHandler*		iRefHandler;
	TBool					iDisplayHeaders;
	TPath					iInboxRoot;
	TUint 					iDiscoverySlots;
	TUint 					iDiscoveryAttempts;
	TUint16					iRecvMTU;
	TUint16					iTransmitMTU;
	RIrdaDiscoveryResponseSuppressor iSupp;
	TBuf<20> iIrDANicknameBuffer;
	TBool iPerformanceLoggingEnabled;
	};




class CReferenceHandler : public CBase
	{
public:

	enum TObexBufObjectComparison
		{
		EAllSame = 0,
		EDifferentName = 1,
		EDifferentType = 2,
		EDifferentLength = 4,
		EDifferentTime = 8,
		EDifferentDescription = 16,
		EDifferentTarget = 32,
		EDifferentBuf = 64,
		EDifferentHttp = 128,
		EDifferentAppParam = 256,
		EDifferentUserDefined = 512,
		EDifferentCount = 1024,
		EDifferentCreatorID = 2048,
		EDifferentWanUUID = 4096, 
		EDifferentObjectClass = 8192};

	static CReferenceHandler* NewL();
	CReferenceHandler();
	~CReferenceHandler();

	void CreateReferenceL(CObexBufObject& aObject, CBufFlat& aObjectBuf, TInt aReferenceId, TTransport aTransport);

	TInt CompareObjectToReferenceL(CObexBufObject& aObject, CBufFlat& aObjectBuf, TTransport aTransport);

private:
	void CreateReferenceObject1L(CObexBufObject& aObject, CBufFlat& aObjectBuf, TTransport aTransport);
	void CreateReferenceObject2L(CObexBufObject& aObject, CBufFlat& aObjectBuf, TTransport aTransport);
	void CreateReferenceObject3L(CObexBufObject& aObject, CBufFlat& aObjectBuf, TTransport aTransport);
	void CreateReferenceObject4L(CObexBufObject& aObject, CBufFlat& aObjectBuf, TTransport aTransport);
	void CreateReferenceObject5L(CObexBufObject& aObject, CBufFlat& aObjectBuf, TTransport aTransport);
	void CreateReferenceObject6L(CObexBufObject& aObject, CBufFlat& aObjectBuf, TTransport aTransport);
	void CreateReferenceObject7L(CObexBufObject& aObject, CBufFlat& aObjectBuf, TTransport aTransport);
	void CreateReferenceObject8L(CObexBufObject& aObject, CBufFlat& aObjectBuf, TTransport aTransport);
	void CreateReferenceObject9L(CObexBufObject& aObject, CBufFlat& aObjectBuf, TTransport aTransport);
	void CreateReferenceObject10L(CObexBufObject& aObject, CBufFlat& aObjectBuf, TTransport aTransport);

	};

#endif // _TOBEXCON_H