Index: mash/init/init.cc |
diff --git a/mash/init/init.cc b/mash/init/init.cc |
index ffe16a63f3389f786a6e9c623c83e91ee6eca076..095d33f31ed13cd7ec6336fea7c8a27ece983349 100644 |
--- a/mash/init/init.cc |
+++ b/mash/init/init.cc |
@@ -14,7 +14,8 @@ |
namespace mash { |
namespace init { |
-Init::Init() : connector_(nullptr), login_user_id_(base::GenerateGUID()) {} |
+Init::Init() |
+ : connector_(nullptr) {} |
Init::~Init() {} |
void Init::Initialize(mojo::Connector* connector, |
@@ -22,6 +23,8 @@ void Init::Initialize(mojo::Connector* connector, |
uint32_t id) { |
connector_ = connector; |
connector_->Connect("mojo:mus"); |
+ StartTracing(); |
+ StartResourceProvider(); |
StartLogin(); |
} |
@@ -33,7 +36,6 @@ void Init::StartService(const mojo::String& name, |
} |
void Init::StopServicesForUser(const mojo::String& user_id) { |
- // TODO(beng): Make shell cascade shutdown of services. |
auto it = user_services_.find(user_id); |
if (it != user_services_.end()) |
user_services_.erase(it); |
@@ -43,10 +45,16 @@ void Init::Create(mojo::Connection* connection, mojom::InitRequest request) { |
init_bindings_.AddBinding(this, std::move(request)); |
} |
+void Init::StartTracing() { |
+ StartService("mojo:tracing", mojo::shell::mojom::kInheritUserID); |
+} |
+ |
+void Init::StartResourceProvider() { |
+ StartService("mojo:resource_provider", mojo::shell::mojom::kInheritUserID); |
+} |
+ |
void Init::StartLogin() { |
- mojo::Connector::ConnectParams params( |
- mojo::Identity("mojo:login", login_user_id_)); |
- login_connection_ = connector_->Connect(¶ms); |
+ login_connection_ = connector_->Connect("mojo:login"); |
login_connection_->AddInterface<mojom::Init>(this); |
login_connection_->SetConnectionLostClosure( |
base::Bind(&Init::StartLogin, base::Unretained(this))); |