| // Copyright 2018 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 "shill/dbus/upstart_proxy.h" |
| |
| #include <base/bind.h> |
| |
| #include "shill/logging.h" |
| |
| namespace shill { |
| |
| const char UpstartProxy::kUpstartServiceName[] = "com.ubuntu.Upstart"; |
| |
| UpstartProxy::UpstartProxy(const scoped_refptr<dbus::Bus>& bus) |
| : shill_event_proxy_( |
| new com::ubuntu::Upstart0_6::JobProxy(bus, kUpstartServiceName)) {} |
| |
| void UpstartProxy::EmitEvent(const std::string& name, |
| const std::vector<std::string>& env, |
| bool wait) { |
| std::vector<std::string> start_job_env = env; |
| start_job_env.push_back("EVENT_NAME=" + name); |
| shill_event_proxy_->StartAsync( |
| start_job_env, wait, base::Bind([](const dbus::ObjectPath& path) { |
| VLOG(2) << "Event emitted successful"; |
| }), |
| base::Bind([](brillo::Error* error) { |
| LOG(ERROR) << "Failed to emit event: " << error->GetCode() << " " |
| << error->GetMessage(); |
| })); |
| } |
| |
| } // namespace shill |