#ifndef DEVICE_BLUETOOTH_DBUS_BLUETOOTH_DEBUG_MANAGER_CLIENT_H_
#define DEVICE_BLUETOOTH_DBUS_BLUETOOTH_DEBUG_MANAGER_CLIENT_H_
#include <string>
#include <vector>
#include "base/functional/callback.h"
#include "dbus/object_path.h"
#include "device/bluetooth/bluetooth_export.h"
#include "device/bluetooth/dbus/bluez_dbus_client.h"
namespace bluez {
class DEVICE_BLUETOOTH_EXPORT BluetoothDebugManagerClient
: public BluezDBusClient {
public:
BluetoothDebugManagerClient(const BluetoothDebugManagerClient&) = delete;
BluetoothDebugManagerClient& operator=(const BluetoothDebugManagerClient&) =
delete;
~BluetoothDebugManagerClient() override;
typedef base::OnceCallback<void(const std::string& error_name,
const std::string& error_message)>
ErrorCallback;
virtual void SetLLPrivacy(const bool enable,
base::OnceClosure callback,
ErrorCallback error_callback) = 0;
virtual void SetBluetoothQualityReport(const bool enable,
base::OnceClosure callback,
ErrorCallback error_callback) = 0;
virtual void SetLogLevels(const uint8_t bluez_level,
const uint8_t kernel_level,
base::OnceClosure callback,
ErrorCallback error_callback) = 0;
static BluetoothDebugManagerClient* Create();
static const char kNoResponseError[];
static const char kInvalidArgumentError[];
protected:
BluetoothDebugManagerClient();
};
}
#endif