Program Listing for File playback_control_request.hpp¶
↰ Return to documentation for file (foxglove/include/foxglove/playback_control_request.hpp)
#pragma once
#include <foxglove-c/foxglove-c.h>
#include <optional>
#include <string>
namespace foxglove {
enum class PlaybackCommand : uint8_t {
Play = 0,
Pause = 1,
};
struct PlaybackControlRequest {
public:
PlaybackCommand playback_command;
float playback_speed;
std::optional<uint64_t> seek_time;
std::string request_id;
static PlaybackControlRequest from(
const foxglove_playback_control_request& c_playback_control_request
) {
return {
static_cast<PlaybackCommand>(c_playback_control_request.playback_command),
c_playback_control_request.playback_speed,
c_playback_control_request.seek_time != nullptr
? std::optional<uint64_t>(*c_playback_control_request.seek_time)
: std::nullopt,
std::string(
c_playback_control_request.request_id.data, c_playback_control_request.request_id.len
)
};
}
};
} // namespace foxglove