libraries/btserial/src/connection/btservice.h
changeset 0 7f656887cf89
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/libraries/btserial/src/connection/btservice.h	Wed Jun 23 15:52:26 2010 +0100
@@ -0,0 +1,74 @@
+// Copyright (c) 2004-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:
+// Accenture - modified for fshell's btincomingserial.dll
+// 
+// Description:
+// Name     : CBtService.h
+// Part of  : ex_btsocket
+// Created  : 17/11/2004 by Shane Kearns
+// Server "smart connector" class
+// Version  :
+// 
+
+#ifndef CBTSERVICE_H
+#define CBTSERVICE_H
+
+#include <e32std.h>
+#include <bt_sock.h>
+#include <btsdp.h>
+
+class CBluetoothIncomingSerialConnection;
+
+/**
+This class implements a simple bluetooth application service
+Its responsibility is to advertise and accept incoming bluetooth connections
+*/
+NONSHARABLE_CLASS(CBtService) : public CBase, MBluetoothSocketNotifier
+	{
+	public:
+		static CBtService* NewL(const TUUID& aServiceUUID, 
+			RSdp& aSdpSession, 
+			RSocketServ& aSocketServer, 
+			CBluetoothIncomingSerialConnection& aOwner,
+			TUint aProtocol,
+			const TBTServiceSecurity* aSecurity=NULL);
+		~CBtService();
+
+		void AcceptConnection(CBluetoothSocket& aBlankSocket);
+	private:
+		CBtService(RSocketServ& aSocketServer, 
+			CBluetoothIncomingSerialConnection& aOwner, 
+			TUint aProtocol
+			);
+		void ConstructL(const TUUID& aServiceUUID, 
+			RSdp& aSdpSession, 
+			const TBTServiceSecurity* aSecurity=NULL);
+		//Virtual functions from MBluetoothSocketNotifier
+		virtual void HandleConnectCompleteL(TInt aErr);
+		virtual void HandleAcceptCompleteL(TInt aErr);
+		virtual void HandleShutdownCompleteL(TInt aErr);
+		virtual void HandleSendCompleteL(TInt aErr);
+		virtual void HandleReceiveCompleteL(TInt aErr);
+		virtual void HandleIoctlCompleteL(TInt aErr);
+		virtual void HandleActivateBasebandEventNotifierCompleteL(TInt aErr, TBTBasebandEventNotification& aEventNotification);
+
+		//Data members
+		RSocketServ& iSocketServer;
+		CBluetoothSocket *iAcceptorSocket;
+		CBluetoothSocket *iConnectionSocket; //not owned
+		RSdpDatabase iServiceRecord;
+		TSdpServRecordHandle iServiceRecordHandle;
+		CBluetoothIncomingSerialConnection& iOwner;
+		TUint iProtocol;
+	};
+
+#endif //CBTSERVICE_H