1*1a96fba6SXin Li // Copyright (c) 2010 The Chromium OS Authors. All rights reserved. 2*1a96fba6SXin Li // Use of this source code is governed by a BSD-style license that can be 3*1a96fba6SXin Li // found in the LICENSE file. 4*1a96fba6SXin Li 5*1a96fba6SXin Li #include <base/logging.h> 6*1a96fba6SXin Li 7*1a96fba6SXin Li #include "brillo/glib/abstract_dbus_service.h" 8*1a96fba6SXin Li 9*1a96fba6SXin Li namespace brillo { 10*1a96fba6SXin Li namespace dbus { 11*1a96fba6SXin Li Register(const brillo::dbus::BusConnection & conn)12*1a96fba6SXin Libool AbstractDbusService::Register(const brillo::dbus::BusConnection& conn) { 13*1a96fba6SXin Li return RegisterExclusiveService(conn, 14*1a96fba6SXin Li service_interface(), 15*1a96fba6SXin Li service_name(), 16*1a96fba6SXin Li service_path(), 17*1a96fba6SXin Li service_object()); 18*1a96fba6SXin Li } 19*1a96fba6SXin Li Run()20*1a96fba6SXin Libool AbstractDbusService::Run() { 21*1a96fba6SXin Li if (!main_loop()) { 22*1a96fba6SXin Li LOG(ERROR) << "No run loop. Call Initialize before use."; 23*1a96fba6SXin Li return false; 24*1a96fba6SXin Li } 25*1a96fba6SXin Li ::g_main_loop_run(main_loop()); 26*1a96fba6SXin Li DLOG(INFO) << "Run() completed"; 27*1a96fba6SXin Li return true; 28*1a96fba6SXin Li } 29*1a96fba6SXin Li Shutdown()30*1a96fba6SXin Libool AbstractDbusService::Shutdown() { 31*1a96fba6SXin Li ::g_main_loop_quit(main_loop()); 32*1a96fba6SXin Li return true; 33*1a96fba6SXin Li } 34*1a96fba6SXin Li 35*1a96fba6SXin Li } // namespace dbus 36*1a96fba6SXin Li } // namespace brillo 37