// 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