ash_dbus_services.cc 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. // Copyright 2018 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4. #include "ash/dbus/ash_dbus_services.h"
  5. #include "ash/constants/ash_features.h"
  6. #include "ash/dbus/display_service_provider.h"
  7. #include "ash/dbus/gesture_properties_service_provider.h"
  8. #include "ash/dbus/liveness_service_provider.h"
  9. #include "ash/dbus/privacy_screen_service_provider.h"
  10. #include "ash/dbus/url_handler_service_provider.h"
  11. #include "ash/dbus/user_authentication_service_provider.h"
  12. #include "base/feature_list.h"
  13. #include "chromeos/ash/components/dbus/services/cros_dbus_service.h"
  14. #include "dbus/object_path.h"
  15. #include "third_party/cros_system_api/dbus/service_constants.h"
  16. namespace ash {
  17. AshDBusServices::AshDBusServices(dbus::Bus* system_bus) {
  18. display_service_ =
  19. CrosDBusService::Create(system_bus, chromeos::kDisplayServiceName,
  20. dbus::ObjectPath(chromeos::kDisplayServicePath),
  21. CrosDBusService::CreateServiceProviderList(
  22. std::make_unique<DisplayServiceProvider>()));
  23. if (base::FeatureList::IsEnabled(
  24. chromeos::features::kGesturePropertiesDBusService)) {
  25. gesture_properties_service_ = CrosDBusService::Create(
  26. system_bus, chromeos::kGesturePropertiesServiceName,
  27. dbus::ObjectPath(chromeos::kGesturePropertiesServicePath),
  28. CrosDBusService::CreateServiceProviderList(
  29. std::make_unique<GesturePropertiesServiceProvider>()));
  30. }
  31. liveness_service_ =
  32. CrosDBusService::Create(system_bus, chromeos::kLivenessServiceName,
  33. dbus::ObjectPath(chromeos::kLivenessServicePath),
  34. CrosDBusService::CreateServiceProviderList(
  35. std::make_unique<LivenessServiceProvider>()));
  36. privacy_screen_service_ = CrosDBusService::Create(
  37. system_bus, privacy_screen::kPrivacyScreenServiceName,
  38. dbus::ObjectPath(privacy_screen::kPrivacyScreenServicePath),
  39. CrosDBusService::CreateServiceProviderList(
  40. std::make_unique<PrivacyScreenServiceProvider>()));
  41. url_handler_service_ = CrosDBusService::Create(
  42. system_bus, chromeos::kUrlHandlerServiceName,
  43. dbus::ObjectPath(chromeos::kUrlHandlerServicePath),
  44. CrosDBusService::CreateServiceProviderList(
  45. std::make_unique<UrlHandlerServiceProvider>()));
  46. user_authentication_service_ = CrosDBusService::Create(
  47. system_bus, chromeos::kUserAuthenticationServiceName,
  48. dbus::ObjectPath(chromeos::kUserAuthenticationServicePath),
  49. CrosDBusService::CreateServiceProviderList(
  50. std::make_unique<UserAuthenticationServiceProvider>()));
  51. }
  52. AshDBusServices::~AshDBusServices() {
  53. display_service_.reset();
  54. gesture_properties_service_.reset();
  55. liveness_service_.reset();
  56. privacy_screen_service_.reset();
  57. url_handler_service_.reset();
  58. user_authentication_service_.reset();
  59. }
  60. } // namespace ash