michael@0: /* -*- Mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; tab-width: 40 -*- */ michael@0: /* vim: set ts=2 et sw=2 tw=80: */ michael@0: /* This Source Code Form is subject to the terms of the Mozilla Public michael@0: * License, v. 2.0. If a copy of the MPL was not distributed with this file, michael@0: * You can obtain one at http://mozilla.org/MPL/2.0/. */ michael@0: michael@0: #ifndef mozilla_dom_bluetooth_bluetoothhfpmanager_h__ michael@0: #define mozilla_dom_bluetooth_bluetoothhfpmanager_h__ michael@0: michael@0: #include "BluetoothHfpManagerBase.h" michael@0: michael@0: /** michael@0: * Fallback BluetoothHfpManager is built for non-phone devices (e.g., tablets). michael@0: * These devices has no radio interface and the build flag MOZ_B2G_RIL is michael@0: * disabled. To prevent build breaks of accessing radio interface, we implement michael@0: * fallback BluetoothHfpManager with empty functions to keep original michael@0: * BluetoothHfpManager away from numerous #ifdef/#endif statements. michael@0: */ michael@0: michael@0: BEGIN_BLUETOOTH_NAMESPACE michael@0: michael@0: class BluetoothHfpManager : public BluetoothHfpManagerBase michael@0: { michael@0: public: michael@0: BT_DECL_HFP_MGR_BASE michael@0: virtual void GetName(nsACString& aName) michael@0: { michael@0: aName.AssignLiteral("Fallback HFP/HSP"); michael@0: } michael@0: michael@0: static BluetoothHfpManager* Get(); michael@0: virtual ~BluetoothHfpManager() { } michael@0: michael@0: bool ConnectSco(); michael@0: bool DisconnectSco(); michael@0: michael@0: private: michael@0: BluetoothHfpManager() { } michael@0: bool Init(); michael@0: void HandleShutdown(); michael@0: }; michael@0: michael@0: END_BLUETOOTH_NAMESPACE michael@0: michael@0: #endif