|
ifw-daq
1.0.0
IFW Data Acquisition modules
|
Go to the documentation of this file.
16 , files(std::move(files))
17 , keywords(std::move(keywords))
18 , timestamp(timestamp) {
23 , state(State::NotStarted)
27 , timestamp(TimePoint::clock::now()) {
31 return id == rhs.id && state == rhs.state && files == rhs.files && keywords == rhs.keywords &&
35 return !(*
this == rhs);
39 os <<
"Status(id='" << s.
id <<
"', state=" << s.
state <<
", error="
40 << (s.
error ?
"true" :
"false") <<
")";
48 return m_status == rhs.m_status;
52 return !(*
this == rhs);
56 return m_status == rhs;
60 return !(*
this == rhs);
68 return m_status.
state;
72 return m_status.
error;
76 return m_status.
files;
85 copy(files.begin(), files.end(), std::back_inserter(m_status.
files));
90 if (keywords.empty()) {
98 if (s == m_status.state) {
106 if (error == m_status.error) {
109 m_status.error = error;
113 void ObservableStatus::SignalChanges() noexcept {
114 m_status.
timestamp = Status::TimePoint::clock::now();
121 ObservableStatus::operator
Status()
const {
130 os <<
"ObservableStatus(id='" << s.
GetId() <<
"', state=" << s.
GetState() <<
", error="
131 << (s.
GetError() ?
"true" :
"false") <<
")";
State
Observable states of the data acquisition process.
ObservableStatus(std::string id) noexcept
Construct a new object.
State GetState() const noexcept
bool operator==(ObservableStatus const &rhs) const noexcept
Stores data acquisition status and allows subscription to status changes.
bool operator!=(Status const &rhs) const noexcept
void UpdateKeywords(KeywordVector &to, KeywordVector const &from)
Updates a with keywords from b.
fits::KeywordVector const & GetKeywords() const noexcept
bool operator!=(ObservableStatus const &rhs) const noexcept
Status const & GetStatus() const noexcept
Connect observer that is invoked when state is modified.
std::chrono::time_point< std::chrono::steady_clock > TimePoint
Status(std::string id) noexcept
std::string const & GetId() const noexcept
bool operator==(Status const &rhs) const noexcept
Contains declaration for Status and ObservableStatus.
fits::KeywordVector keywords
void SetError(bool error) noexcept
Set error flag for data acquisition.
void AddFiles(std::vector< DpPart > const &files)
Records that a file has been produced for this data acquisition.
void UpdateKeywords(fits::KeywordVector const &) noexcept
Updates (adds or replaces) Primary HDU keywords.
Non observable status object that keeps stores status of data acquisition.
void SetState(State s) noexcept
Set state of data acquisition.
std::ostream & operator<<(std::ostream &os, DaqController const &daq)
std::vector< KeywordVariant > KeywordVector
Vector of keywords.
std::vector< DpPart > const & GetFiles() const noexcept
std::vector< DpPart > DpParts
bool GetError() const noexcept