#ifndef DEVICE_BLUETOOTH_ADVERTISEMENT_H_
#define DEVICE_BLUETOOTH_ADVERTISEMENT_H_
#include "base/memory/scoped_refptr.h"
#include "device/bluetooth/bluetooth_advertisement.h"
#include "device/bluetooth/public/mojom/adapter.mojom.h"
namespace bluetooth {
class Advertisement : public mojom::Advertisement {
public:
explicit Advertisement(
scoped_refptr<device::BluetoothAdvertisement> bluetooth_advertisement);
~Advertisement() override;
Advertisement(const Advertisement&) = delete;
Advertisement& operator=(const Advertisement&) = delete;
void Unregister(UnregisterCallback callback) override;
private:
void OnUnregister(UnregisterCallback callback);
void OnUnregisterError(UnregisterCallback callback,
device::BluetoothAdvertisement::ErrorCode error_code);
scoped_refptr<device::BluetoothAdvertisement> bluetooth_advertisement_;
base::WeakPtrFactory<Advertisement> weak_ptr_factory_{this};
};
}
#endif