blob: 969663ed52c12a3b87545da91ba715146d2ae20e [file] [log] [blame]
// Copyright 2019 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 SRC_LIB_COBALT_CPP_TESTING_MOCK_COBALT_LOGGER_H_
#define SRC_LIB_COBALT_CPP_TESTING_MOCK_COBALT_LOGGER_H_
#include <unordered_map>
#include "src/cobalt/bin/testing/log_method.h"
#include "src/lib/cobalt/cpp/cobalt_logger.h"
namespace cobalt {
using CallCountMap = std::unordered_map<LogMethod, uint32_t>;
class MockCobaltLogger : public cobalt::CobaltLogger {
public:
MockCobaltLogger(CallCountMap* call_counts = nullptr) : call_counts_(call_counts) {}
~MockCobaltLogger() override = default;
void LogIntHistogram(uint32_t metric_id, uint32_t event_code, const std::string& component,
std::vector<fuchsia::cobalt::HistogramBucket> histogram) override;
void LogEvent(uint32_t metric_id, uint32_t event_code) override;
void LogEventCount(uint32_t metric_id, uint32_t event_code, const std::string& component,
zx::duration period_duration, int64_t count) override;
void LogElapsedTime(uint32_t metric_id, uint32_t event_code, const std::string& component,
zx::duration elapsed_time) override;
void LogFrameRate(uint32_t metric_id, uint32_t event_code, const std::string& component,
float fps) override;
void LogMemoryUsage(uint32_t metric_id, uint32_t event_code, const std::string& component,
int64_t bytes) override;
void StartTimer(uint32_t metric_id, uint32_t event_code, const std::string& component,
const std::string& timer_id, zx::time timestamp, zx::duration timeout) override{};
void EndTimer(const std::string& timer_id, zx::time timestamp, zx::duration timeout) override{};
void LogCustomEvent(uint32_t metric_id,
std::vector<fuchsia::cobalt::CustomEventValue> event_values) override;
void LogCobaltEvent(fuchsia::cobalt::CobaltEvent event) override;
void LogCobaltEvents(std::vector<fuchsia::cobalt::CobaltEvent> events) override;
private:
CallCountMap* call_counts_ = nullptr;
};
} // namespace cobalt
#endif // SRC_LIB_COBALT_CPP_TESTING_MOCK_COBALT_LOGGER_H_