Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(697)

Unified Diff: src/main.cc

Issue 3576011: Cashew: track cellular service state. (Closed) Base URL: ssh://git@gitrw.chromium.org:9222/cashew.git
Patch Set: Make debug logging less verbose Created 10 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/device.cc ('k') | src/service.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/main.cc
diff --git a/src/main.cc b/src/main.cc
index 279f954c80cc67dc5ea24e7b1988886face9335c..852bca0696b2650bcd0446339158eaa552a0f454 100644
--- a/src/main.cc
+++ b/src/main.cc
@@ -14,6 +14,7 @@
#include <glog/logging.h>
#include "src/cashew_server.h"
+#include "src/service_manager.h"
namespace cashew {
@@ -35,6 +36,8 @@ static DBus::BusDispatcher *dispatcher = NULL;
static CashewServer *server = NULL;
+static ServiceManager *service_manager = NULL;
+
static void OnSignal(int signal) {
DLOG(INFO) << "received signal " << signal;
if (dispatcher) {
@@ -72,6 +75,8 @@ static void CleanUpForExit() {
DLOG(INFO) << "cleaning up";
delete server;
server = NULL;
+ delete service_manager;
+ service_manager = NULL;
DBus::default_dispatcher = NULL;
DBus::BusDispatcher *dispatcher_to_delete = dispatcher;
dispatcher = NULL;
@@ -102,10 +107,22 @@ int main(int argc, char *argv[]) {
// TODO(vlaviano): back-end carrier apis
+ DLOG(INFO) << "creating service manager";
+ DBus::Connection client_conn = DBus::Connection::SystemBus();
+ cashew::service_manager = new(std::nothrow) cashew::ServiceManager(
+ client_conn);
+ if (cashew::service_manager == NULL) {
+ LOG(ERROR) << "couldn't create service manager";
+ cashew::CleanUpForExit();
+ exit(EXIT_FAILURE);
+ }
+
DLOG(INFO) << "creating cashew server";
- DBus::Connection conn = DBus::Connection::SystemBus();
- conn.request_name(cashew::CashewServer::kServiceName);
- cashew::server = new(std::nothrow) cashew::CashewServer(conn);
+ // TODO(vlaviano): can we share a single conn for client and server roles?
+ DBus::Connection server_conn = DBus::Connection::SystemBus();
+ server_conn.request_name(cashew::CashewServer::kServiceName);
+ cashew::server = new(std::nothrow) cashew::CashewServer(server_conn,
+ *cashew::service_manager);
if (cashew::server == NULL) {
LOG(ERROR) << "couldn't create cashew server";
cashew::CleanUpForExit();
« no previous file with comments | « src/device.cc ('k') | src/service.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698