--- a/obex/obexprotocol/obextransport/public/obextransportcontrollerbase.h Tue Sep 28 20:14:08 2010 +0800
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,145 +0,0 @@
-// 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 __OBEXTRANSPORTCONTROLLERBASE_H__
-#define __OBEXTRANSPORTCONTROLLERBASE_H__
-
-#include <e32base.h>
-#include <obex/transport/mobextransportnotify.h>
-#include <obex/transport/obexconnector.h>
-#include <obex/internal/obextransportconstants.h>
-#include <obex/transport/obextransport.hrh>
-#include <obextypes.h>
-
-class CObexPacket;
-class MObexNotifyExtend;
-class TSockAddr;
-class CObexActiveRW;
-class TObexTransportInfo;
-
-/**
-@file
-@publishedPartner
-@released
-*/
-
-/**
-Interface UID for transport controllers.
-Transport controllers are instantiations of this interface.
-*/
-const TInt KObexTransportControllerInterfaceUid = KObexTransportInterfaceUid;
-
-/**
-Abstraction for transport controller implementations. Defines an interface to
-be used by Obex protocol layer as the facade to the transport layer.
-
-In a concrete transport controller's NewL, the following things must be done:
-(a) CObexTransportControllerBase::iConnector must be assigned to a
-CObexConnector-derived type. (This may be reliant on the TObexTransportInfo
-object passed in at this time.) iConnector is owned by
-CObexTransportControllerBase.
-(b) CObexTransportControllerBase::iTransportInfo must be assigned to a
-persistent (i.e. heap-based) TObexTransportInfo or derived type. The derived
-transport controller may cast the TObexTransportInfo given at construction
-time to a known derived type and copy the data from it to the new instance on
-the heap. Note that ownership of the given TObexTransportInfo *remains with
-the client*. iTransportInfo is then owned by CObexTransportControllerBase.
-
-In a concrete transport controller's NewTransportL, two instances of types
-derived from CObexActiveRW must be created, and stored in
-CObexTransportControllerBase::iActiveReader and
-CObexTransportControllerBase::iActiveWriter. CObexTransportControllerBase owns
-these.
-*/
-class CObexTransportControllerBase : public CBase, public MObexTransportNotify
- {
-public:
- IMPORT_C static CObexTransportControllerBase* NewL(TObexTransportInfo& aTransportInfo);
- IMPORT_C ~CObexTransportControllerBase();
-
-public:
- IMPORT_C void SetOwner(MObexNotifyExtend& aOwner);
-
- //delegated to activerw class
- IMPORT_C CObexPacket& SendPacket () ; //< Access packet buffers
- IMPORT_C CObexPacket& ReceivePacket ();
- IMPORT_C void Send (); //< Actually carry out transfer
- IMPORT_C void Send (TObexOpcode aOpcode); //< Prepare and send a 3 byte packet
- IMPORT_C void Receive ();
-
- IMPORT_C TBool IsWriteActive () const; //< is the ActiveWriter busy
- IMPORT_C TInt InsertLocalConnectInfo (CObexPacket &aPacket, TUint8 aVersion, TUint8 aFlags);
- IMPORT_C TBool ExtractRemoteConnectInfo (CObexPacket &aPacket, TUint8& aVersion, TUint8& aFlags);
- IMPORT_C void CancelTransfers();
-
- //delegated to connector class
- IMPORT_C void ConnectL ();
- IMPORT_C void CancelConnect();
- IMPORT_C void AcceptConnectionL();
- IMPORT_C void CancelAccept();
- IMPORT_C TBool BringTransportDown();
- IMPORT_C void SignalTransportError();
-
- //public non-virtual methods to aid preventing bc/sc breaks when the client interface changes
- IMPORT_C void RemoteAddr(TSockAddr& aAddr);
- IMPORT_C TBool IsTransportRestartable() const;
- IMPORT_C const TObexTransportInfo* TransportInfo() const;
-
-protected:
- IMPORT_C CObexTransportControllerBase();
-
-private:
- void BaseConstructL();
-
-private: // implemented by derived controller
- virtual void DoRemoteAddr(TSockAddr& aAddr)=0;
- virtual TBool DoIsTransportRestartable() const = 0;
- virtual void NewTransportL(TObexConnectionInfo& aInfo) = 0;
- virtual TUint16 GetReceivePacketDataLimit() = 0;
-
-protected: // from MObexTransportNotify
- IMPORT_C virtual void DoProcess(CObexPacket &aPacket);
- IMPORT_C virtual void DoError(TInt aError);
- IMPORT_C virtual void DoTransportUp(TObexConnectionInfo& aInfo);
- IMPORT_C virtual void DoSignalPacketProcessEvent(TObexPacketProcessEvent aEvent);
-
-protected: //Extension pattern
- IMPORT_C virtual TAny* GetInterface(TUid aUid);
-
-private: // utility
- void DeleteTransport();
- void ConstructPacketsL();
- void InitialiseTransportL(TObexConnectionInfo& aInfo);
- void TransportUpError(TInt aError);
-
-protected: // owned
- CObexConnector* iConnector;
- CObexActiveRW* iActiveReader;
- CObexActiveRW* iActiveWriter;
- TObexConnectionInfo iConnectionInfo;
- TObexTransportInfo* iTransportInfo;
-
-private: // unowned
- MObexNotifyExtend* iOwner;
-
-private: // owned
- CObexPacket* iReceivePacket;
- CObexPacket* iSendPacket;
- TAny* iFuture1;
- // Instance identifier key
- TUid iPrivateEComUID;
- };
-
-#endif // __OBEXTRANSPORTCONTROLLERBASE_H__