blob: 14496a09cc0fdbe1f469cd43a22bf87ad62ea6e8 [file] [log] [blame]
// Copyright 2018 The Chromium OS 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 MEDIA_PERCEPTION_FAKE_RTANALYTICS_H_
#define MEDIA_PERCEPTION_FAKE_RTANALYTICS_H_
#include "media_perception/rtanalytics.h"
#include <string>
#include <vector>
#include "base/macros.h"
namespace mri {
class FakeRtanalytics : public Rtanalytics {
public:
FakeRtanalytics() = default;
FakeRtanalytics(const FakeRtanalytics&) = delete;
FakeRtanalytics& operator=(const FakeRtanalytics&) = delete;
void SetSerializedDeviceTemplates(
std::vector<SerializedDeviceTemplate> serialized_device_templates);
std::string GetMostRecentOutputStreamName() const {
return most_recent_output_stream_name_;
}
// Rtanalytics:
SerializedPerceptionInterfaces SetupConfiguration(
const std::string& configuration_name,
SerializedSuccessStatus* success_status) override;
SerializedSuccessStatus SetTemplateArguments(
const std::string& configuration_name,
const SerializedTemplateArguments& serialized_arguments) override;
std::vector<SerializedDeviceTemplate> GetTemplateDevices(
const std::string& configuration_name) const override;
SerializedSuccessStatus SetVideoDeviceForTemplateName(
const std::string& configuration_name,
const std::string& template_name,
const SerializedVideoDevice& video_device) override;
SerializedSuccessStatus SetAudioDeviceForTemplateName(
const std::string& configuration_name,
const std::string& template_name,
const SerializedAudioDevice& audio_device) override;
SerializedSuccessStatus SetVirtualVideoDeviceForTemplateName(
const std::string& configuration_name,
const std::string& template_name,
const SerializedVirtualVideoDevice& virtual_device) override;
SerializedPipelineState GetPipelineState(
const std::string& configuration_name) const override;
SerializedPipelineState SetPipelineState(
const std::string& configuration_name,
const SerializedPipelineState& desired_state) override;
SerializedSuccessStatus SetPipelineOutputHandler(
const std::string& configuration_name,
const std::string& output_stream,
PipelineOutputHandler output_handler) override;
SerializedGlobalPipelineState GetGlobalPipelineState() const override;
private:
// A list of device templates to be returned by GetTemplateDevices.
std::vector<SerializedDeviceTemplate> serialized_device_templates_;
std::string most_recent_output_stream_name_;
};
} // namespace mri
#endif // MEDIA_PERCEPTION_FAKE_RTANALYTICS_H_