| Index: services/service_manager/public/cpp/lib/service.cc
|
| diff --git a/services/service_manager/public/cpp/lib/service.cc b/services/service_manager/public/cpp/lib/service.cc
|
| index 7d0d72a269cc14988e116a0c9601a763c6c3cfd1..c9d85ce73032fdf2fa74697da520bedf4e76cded 100644
|
| --- a/services/service_manager/public/cpp/lib/service.cc
|
| +++ b/services/service_manager/public/cpp/lib/service.cc
|
| @@ -4,12 +4,43 @@
|
|
|
| #include "services/service_manager/public/cpp/service.h"
|
|
|
| +#include "base/logging.h"
|
| +
|
| namespace service_manager {
|
|
|
| -Service::~Service() {}
|
| +Service::Service() = default;
|
| +
|
| +Service::~Service() = default;
|
| +
|
| +void Service::OnStart() {}
|
|
|
| -void Service::OnStart(ServiceContext* context) {}
|
| +bool Service::OnConnect(const ServiceInfo& remote_info,
|
| + InterfaceRegistry* registry) {
|
| + return false;
|
| +}
|
|
|
| bool Service::OnStop() { return true; }
|
|
|
| +ServiceContext* Service::context() const {
|
| + DCHECK(service_context_)
|
| + << "Service::context() may only be called during or after OnStart().";
|
| + return service_context_;
|
| +}
|
| +
|
| +ForwardingService::ForwardingService(Service* target) : target_(target) {}
|
| +
|
| +ForwardingService::~ForwardingService() {}
|
| +
|
| +void ForwardingService::OnStart() {
|
| + target_->set_context(context());
|
| + target_->OnStart();
|
| +}
|
| +
|
| +bool ForwardingService::OnConnect(const ServiceInfo& remote_info,
|
| + InterfaceRegistry* registry) {
|
| + return target_->OnConnect(remote_info, registry);
|
| +}
|
| +
|
| +bool ForwardingService::OnStop() { return target_->OnStop(); }
|
| +
|
| } // namespace service_manager
|
|
|