blob: 6e9739a14ba83dcc49f0a27e9d2cfd7c3615bed0 [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.
#ifndef GARNET_BIN_KTRACE_PROVIDER_LOG_IMPORTER_H_
#define GARNET_BIN_KTRACE_PROVIDER_LOG_IMPORTER_H_
#include <lib/async/cpp/wait.h>
#include <lib/trace-engine/types.h>
#include <lib/zx/debuglog.h>
namespace ktrace_provider {
class LogImporter {
public:
LogImporter();
~LogImporter();
void Start();
void Stop();
private:
void Handle(async_dispatcher_t* dispatcher, async::WaitBase* wait, zx_status_t status,
const zx_packet_signal_t* signal);
zx::debuglog log_;
zx_time_t start_time_;
double time_scale_;
async::WaitMethod<LogImporter, &LogImporter::Handle> wait_{this};
LogImporter(const LogImporter&) = delete;
LogImporter(LogImporter&&) = delete;
LogImporter& operator=(const LogImporter&) = delete;
LogImporter& operator=(LogImporter&&) = delete;
};
} // namespace ktrace_provider
#endif // GARNET_BIN_KTRACE_PROVIDER_LOG_IMPORTER_H_