blob: 4253013784275e9395b3bd5762f07ffecab60d1b [file] [log] [blame]
// Copyright 2016 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 "garnet/bin/trace_manager/app.h"
#include <utility>
#include "src/lib/fxl/logging.h"
namespace tracing {
TraceManagerApp::TraceManagerApp(std::unique_ptr<sys::ComponentContext> context, Config config)
: context_(std::move(context)), trace_manager_(this, context_.get(), std::move(config)) {
[[maybe_unused]] zx_status_t status;
status = context_->outgoing()->AddPublicService(
provider_registry_bindings_.GetHandler(&trace_manager_));
FX_DCHECK(status == ZX_OK);
status = context_->outgoing()->AddPublicService(controller_bindings_.GetHandler(&trace_manager_));
FX_DCHECK(status == ZX_OK);
controller_bindings_.set_empty_set_handler([this]() { trace_manager_.OnEmptyControllerSet(); });
FX_VLOGS(2) << "TraceManager services registered";
}
TraceManagerApp::~TraceManagerApp() = default;
} // namespace tracing