30 lines
841 B
C++
30 lines
841 B
C++
|
|
#include "deliver.hpp"
|
||
|
|
#include <stdexcept>
|
||
|
|
|
||
|
|
namespace basalt::shared::deliver {
|
||
|
|
|
||
|
|
IDeliver::IDeliver() {}
|
||
|
|
|
||
|
|
IDeliver::~IDeliver() {}
|
||
|
|
|
||
|
|
guid::Guid IDeliver::GetGuid() const {
|
||
|
|
throw std::logic_error("unimplemented function");
|
||
|
|
}
|
||
|
|
|
||
|
|
void IDeliver::Startup(DeliverConfig &&config) {
|
||
|
|
if (this->status != DeliverStatus::Ready) throw std::runtime_error("unexpected deliver status");
|
||
|
|
this->config = std::move(config);
|
||
|
|
this->status = DeliverStatus::Running;
|
||
|
|
}
|
||
|
|
|
||
|
|
void IDeliver::Transmit() {
|
||
|
|
if (this->status != DeliverStatus::Running) throw std::runtime_error("unexpected deliver status");
|
||
|
|
}
|
||
|
|
|
||
|
|
void IDeliver::Shutdown() {
|
||
|
|
if (this->status != DeliverStatus::Running) throw std::runtime_error("unexpected deliver status");
|
||
|
|
this->status = DeliverStatus::Stop;
|
||
|
|
}
|
||
|
|
|
||
|
|
}
|