/** * @file TinyGsmGPS.tpp * @author Adrian Cervera Andes * @license LGPL-3.0 * @copyright Copyright (c) 2021 Adrian Cervera Andes * @date Jan 2021 */ #ifndef SRC_TINYGSMBLUETOOTH_H_ #define SRC_TINYGSMBLUETOOTH_H_ #include "TinyGsmCommon.h" #define TINY_GSM_MODEM_HAS_BLUETOOTH template class TinyGsmBluetooth { public: /* * Bluetooth functions */ bool enableBluetooth() { return thisModem().enableBluetoothImpl(); } bool disableBluetooth() { return thisModem().disableBluetoothImpl(); } bool setBluetoothVisibility(bool visible) { return thisModem().setBluetoothVisibilityImpl(visible); } bool setBluetoothHostName(const char* name) { return thisModem().setBluetoothHostNameImpl(name); } /* * CRTP Helper */ protected: inline const modemType& thisModem() const { return static_cast(*this); } inline modemType& thisModem() { return static_cast(*this); } /* * Bluetooth functions */ bool enableBluetoothImpl() TINY_GSM_ATTR_NOT_IMPLEMENTED; bool disableBluetoothImpl() TINY_GSM_ATTR_NOT_IMPLEMENTED; bool setBluetoothVisibilityImpl(bool visible) TINY_GSM_ATTR_NOT_IMPLEMENTED; bool setBluetoothHostNameImpl(const char* name) TINY_GSM_ATTR_NOT_IMPLEMENTED; }; #endif // SRC_TINYGSMBLUETOOTH_H_