syncmlfw/common/transport/inc/nsmltransport.h
changeset 0 b497e44ab2fc
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/syncmlfw/common/transport/inc/nsmltransport.h	Thu Dec 17 09:07:52 2009 +0200
@@ -0,0 +1,106 @@
+/*
+* Copyright (c) 2003 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:  SyncML transport interface
+*
+*/
+
+
+#ifndef __NSML_TRANSPORT_H__
+#define __NSML_TRANSPORT_H__
+
+#include <e32base.h>
+///#include "Extbtsearcherobserver.h"
+#include "bttypes.h"
+
+class MExtBTSearcherObserver;
+
+_LIT(KSmlHTTPClientLibName, "nsmlhttp.dll");
+
+_LIT(KSmlObexClientLibName, "nsmlobexclient.dll");
+_LIT(KSmlObexServerBindingLibName, "nsmlobexserverbinding.dll");
+_LIT(KSmlObexUsbClientLibName, "nsmlobexusbclient.dll");
+
+
+const TInt KSmlTransBindingUidValue = 0x101F6DE4;
+const TUid KSmlTransBindingUid = {KSmlTransBindingUidValue};
+
+
+enum TNSmlObexTransport
+{
+	EObexBt,
+	EObexUsb,
+	EObexIr
+};
+
+
+class CNSmlHTTP;
+class CNsmlObexClient;
+class CNSmlObexServerBinding;
+
+// Reserved to maintain binary compability 
+class CNSmlFutureReservation;
+
+
+//============================================================
+// CNSmlTransport declaration
+//============================================================
+class CNSmlTransport : public CBase 
+    {
+    public:
+		IMPORT_C static CNSmlTransport* NewL();
+		IMPORT_C static CNSmlTransport* NewLC();
+		IMPORT_C CNSmlTransport();
+		IMPORT_C ~CNSmlTransport();
+		IMPORT_C void ConstructL();
+		IMPORT_C void ConnectL( TUid aMediumType, TBool aServerAlerted, CArrayFixFlat<TUint32>* aIAPIdArray, TDesC8& aURI, TDesC8& aMimeType, TRequestStatus &aStatus, TDesC8& aHTTPusername, TDesC8& aHTTPpassword, TInt aHTTPauthused ); 
+		IMPORT_C void Disconnect();
+		IMPORT_C void Send( TDesC8& aStartPtr, TBool /*aFinalPacket*/, TRequestStatus &aStatus );
+		IMPORT_C void Receive( TPtr8& aStartPtr, TRequestStatus &aStatus );
+		IMPORT_C void ChangeTargetURIL( TDesC8& aURI );
+		IMPORT_C void SetBTConnInfo( const TBTDevAddr aBTDevAddr, const TUUID aUid );
+		IMPORT_C void SetExtObserver( MExtBTSearcherObserver* aExtObserver );
+
+	private:
+		void Connect( CArrayFixFlat<TUint32>* aIAPIdArray, TDesC8& aURI, TDesC8& aMimeType, TRequestStatus &aStatus, TDesC8& aHTTPusername, TDesC8& aHTTPpassword, TInt aHTTPauthused ); 
+		void Connect( TNSmlObexTransport aTransport,TBool aServerAlerted, TDesC8& aMimeType, TRequestStatus &aStatus );
+        static TBool IsInOfflineModeL(); // 1.2 CHANGES: Offline mode
+		void LoadObexDllL();
+		void LoadHTTPDllL();
+		void LoadObexServerBindingDllL();
+
+	public:
+		CNSmlObexServerBinding* iObexServerBinding;
+		CNsmlObexClient* iObexBinding;
+		CNSmlHTTP* iHTTPBinding;
+		TRequestStatus* iAgentStatus;
+
+	private:
+		TBool iObex;
+		TBool iObexServer;
+		RLibrary iObexServerBindingLib;
+		RLibrary iObexLibrary;
+		RLibrary iHTTPLibrary;
+		TUid iCurrMedium;
+		// Bluetooth specific members
+		TBTDevAddr iBTDevAddr;
+		TUUID iServiceUid;
+		MExtBTSearcherObserver* iBTObserver;
+		// Reserved to maintain binary compability
+		CNSmlFutureReservation* iReserved;
+		TBool iWLANBearer;
+		
+    };
+
+
+#endif // __NSML_TRANSPORT_H__