1
0
Files
BasaltMeter/BasaltPresenter/Shared/basalt/deliver.hpp
2026-01-10 20:02:50 +08:00

35 lines
750 B
C++

#pragma once
#include "guid.hpp"
#include <cinttypes>
namespace basalt::shared::deliver {
struct DeliverConfig {
std::uint32_t device; ///< The selected device if possible.
};
enum class DeliverStatus {
Ready, ///< Engine was allocated but not initialized.
Running, ///< Engine has been initialized and running.
Stop, ///< Engine is shutdown.
};
class IDeliver {
public:
IDeliver();
virtual ~IDeliver();
public:
virtual guid::Guid get_guid() const;
virtual void startup(DeliverConfig&& config);
virtual void transmit();
virtual void shutdown();
protected:
DeliverConfig config;
DeliverStatus status;
};
}