blob: 81177f9427f192f31733b5ea6cf51d3732e7c202 [file] [log] [blame]
// Copyright 2017 The Fuchsia 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 <src/modular/lib/lifecycle/cpp/lifecycle_impl.h>
namespace modular {
LifecycleImpl::LifecycleImpl(const std::shared_ptr<sys::OutgoingDirectory>& outgoing_services,
LifecycleImpl::Delegate* delegate)
: delegate_(delegate), binding_(this) {
outgoing_services->AddPublicService<fuchsia::modular::Lifecycle>(
[this](fidl::InterfaceRequest<fuchsia::modular::Lifecycle> request) {
binding_.Bind(std::move(request));
});
}
// |fuchsia::modular::Lifecycle|
void LifecycleImpl::Terminate() {
binding_.Unbind();
delegate_->Terminate();
}
} // namespace modular