summaryrefslogtreecommitdiff
path: root/brillo/glib/abstract_dbus_service.cc
diff options
context:
space:
mode:
Diffstat (limited to 'brillo/glib/abstract_dbus_service.cc')
-rw-r--r--brillo/glib/abstract_dbus_service.cc36
1 files changed, 36 insertions, 0 deletions
diff --git a/brillo/glib/abstract_dbus_service.cc b/brillo/glib/abstract_dbus_service.cc
new file mode 100644
index 0000000..c5ed27d
--- /dev/null
+++ b/brillo/glib/abstract_dbus_service.cc
@@ -0,0 +1,36 @@
+// Copyright (c) 2010 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.
+
+#include <base/logging.h>
+
+#include "brillo/glib/abstract_dbus_service.h"
+
+namespace brillo {
+namespace dbus {
+
+bool AbstractDbusService::Register(const brillo::dbus::BusConnection& conn) {
+ return RegisterExclusiveService(conn,
+ service_interface(),
+ service_name(),
+ service_path(),
+ service_object());
+}
+
+bool AbstractDbusService::Run() {
+ if (!main_loop()) {
+ LOG(ERROR) << "No run loop. Call Initialize before use.";
+ return false;
+ }
+ ::g_main_loop_run(main_loop());
+ DLOG(INFO) << "Run() completed";
+ return true;
+}
+
+bool AbstractDbusService::Shutdown() {
+ ::g_main_loop_quit(main_loop());
+ return true;
+}
+
+} // namespace dbus
+} // namespace brillo