blob: 5124610067c831aafba96230af81e79d1a1e0b0f [file] [log] [blame]
// Copyright 2021 The Chromium OS Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef TYPECD_CHROME_FEATURES_SERVICE_CLIENT_H_
#define TYPECD_CHROME_FEATURES_SERVICE_CLIENT_H_
#include <string>
#include <base/memory/weak_ptr.h>
#include <dbus/bus.h>
#include <dbus/object_proxy.h>
namespace typecd {
// Helper to call chrome features dbus service.
class ChromeFeaturesServiceClient {
public:
explicit ChromeFeaturesServiceClient(scoped_refptr<dbus::Bus> bus);
ChromeFeaturesServiceClient(const ChromeFeaturesServiceClient&) = delete;
ChromeFeaturesServiceClient& operator=(const ChromeFeaturesServiceClient&) =
delete;
~ChromeFeaturesServiceClient() = default;
bool IsPeripheralDataAccessEnabled();
private:
dbus::ObjectProxy* proxy_;
base::WeakPtrFactory<ChromeFeaturesServiceClient> weak_ptr_factory_{this};
};
} // namespace typecd
#endif // TYPECD_CHROME_FEATURES_SERVICE_CLIENT_H_