diff -r 4dc88a4ac6f4 -r f6055a57ae18 obex/obexprotocol/obex/test/tobex/serverhandlerbase.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/obex/obexprotocol/obex/test/tobex/serverhandlerbase.h Tue Oct 19 11:00:12 2010 +0800 @@ -0,0 +1,137 @@ +// 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 _SERVERHANDLERBASE_H +#define _SERVERHANDLERBASE_H + + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "constants.h" + +class CServerAsyncAO; +class CActiveConsole; +class CObexServerPacketAccessUi; + + +class CObexServerHandlerBase : public CBase, +#ifdef ASYNC_INDICATION + private MObexServerNotifyAsync, +#else + private MObexServerNotify, +#endif + public MObexAuthChallengeHandler, + + public MObexReadActivityObserver +//----------------------------------------------------------- + { +public: + // Construction + void BaseConstructL(TTransport aTransport); + + void Start(); + void Stop(); + // Destruction + virtual ~CObexServerHandlerBase(); + + void EnableAuthentication(); + void DisableAuthentication(); + void EnablePassword(); + void ChangeChallengePassword(TDesC* aPassword = NULL); + void ChangeResponsePassword(); + void SetLocalWho(); + void SetTargetChecking(CObexServer::TTargetChecking aValue); + void GetUserPasswordL(const TDesC& aUserID); + void RemoteAddress(); +#ifdef PACKET_ACCESS_EXTENSION + void PacketAccessUiL(TBool aEnable); +#endif // PACKET_ACCESS_EXTENSION + +protected: + CObexServerHandlerBase(CActiveConsole* aParent); + +private: + // Implementation of MObexServerNotify interface + virtual void ErrorIndication (TInt aError); + virtual void TransportUpIndication (); + virtual void TransportDownIndication (); + + virtual void ObexDisconnectIndication (const TDesC8& aInfo); + virtual TInt PutPacketIndication (); + virtual TInt GetPacketIndication (); + virtual void AbortIndication (); + + +#ifdef ASYNC_INDICATION + void GetCompleteIndication (); + void PutCompleteIndication (); + void SetPathIndication (const CObex::TSetPathInfo& aPathInfo, const TDesC8& aInfo); + void CancelIndicationCallback(); + void ObexConnectIndication (const TObexConnectInfo& aRemoteInfo, const TDesC8& aInfo); + void PutRequestIndication (); + void GetRequestIndication (CObexBaseObject *aRequestedObject); +#else + TInt ObexConnectIndication (const TObexConnectInfo& aRemoteInfo, const TDesC8& aInfo); + TInt GetCompleteIndication (); + TInt PutCompleteIndication (); + TInt SetPathIndication (const CObex::TSetPathInfo& aPathInfo, const TDesC8& aInfo); + CObexBufObject* PutRequestIndication (); + CObexBufObject* GetRequestIndication (CObexBaseObject *aRequestedObject); +#endif + + // Implementation of MObexReadActivityObserver interface + void MoraoReadActivity(); + void SetUpGetObjectL(CObexBaseObject *aRequestedObject); + void HandleGetReferenceObjL(CObexBaseObject* aRequiredObject); + + void InitBluetoothL(); + +public: + TBuf<16> iChallengePassword; + TBuf<16> iResponsePassword; + TBool iAcceptPuts; + +protected: + CObexBufObject* iObject; + CBufFlat* iBuf; + CActiveConsole* iParent; + +private: + CObexServer* iServer; + TBool iIsAuthenticationEnabled; + TTransport iTransportLayer; + CSdpAttrValueDES* iProtDescList; + RSdp iSdp; + RSdpDatabase iSdpdb; +#ifdef ASYNC_INDICATION + CServerAsyncAO* iServerAsyncAO; +#endif +#ifdef PACKET_ACCESS_EXTENSION + CObexServerPacketAccessUi* iPacketAccessUi; +#endif // PACKET_ACCESS_EXTENSION + + TTime iStartTime; + }; + +#endif // _SERVERHANDLERBASE_H