diff -r 000000000000 -r 6474c204b198 dom/bluetooth/bluez/BluetoothSocket.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dom/bluetooth/bluez/BluetoothSocket.h Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,52 @@ +/* -*- Mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; tab-width: 40 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +#ifndef mozilla_dom_bluetooth_BluetoothSocket_h +#define mozilla_dom_bluetooth_BluetoothSocket_h + +#include "BluetoothCommon.h" +#include "mozilla/ipc/UnixSocket.h" + +BEGIN_BLUETOOTH_NAMESPACE + +class BluetoothSocketObserver; + +class BluetoothSocket : public mozilla::ipc::UnixSocketConsumer +{ +public: + BluetoothSocket(BluetoothSocketObserver* aObserver, + BluetoothSocketType aType, + bool aAuth, + bool aEncrypt); + + bool Connect(const nsACString& aDeviceAddress, int aChannel); + bool Listen(int aChannel); + inline void Disconnect() + { + CloseSocket(); + } + + virtual void OnConnectSuccess() MOZ_OVERRIDE; + virtual void OnConnectError() MOZ_OVERRIDE; + virtual void OnDisconnect() MOZ_OVERRIDE; + virtual void ReceiveSocketData( + nsAutoPtr& aMessage) MOZ_OVERRIDE; + + inline void GetAddress(nsAString& aDeviceAddress) + { + GetSocketAddr(aDeviceAddress); + } + +private: + BluetoothSocketObserver* mObserver; + BluetoothSocketType mType; + bool mAuth; + bool mEncrypt; +}; + +END_BLUETOOTH_NAMESPACE + +#endif