SRS-control 0.1.4
Loading...
Searching...
No Matches
srs::writer::Manager Class Reference

#include <DataWriter.hpp>

Collaboration diagram for srs::writer::Manager:

Public Member Functions

 Manager (workflow::Handler *processor)
 ~Manager ()
 Manager (const Manager &)=delete
Manageroperator= (const Manager &)=delete
 Manager (Manager &&)=default
Manageroperator= (Manager &&)=default
void write_with (auto make_future)
void wait_for_finished ()
void reset ()
void set_output_filenames (const std::vector< std::string > &filenames)
auto get_binary_writers () const -> const auto &
void do_for_each_writer (WriterVisitor auto visitor)
void do_for_each_writer (WriterVisitor auto visitor) const
auto is_convert_required (process::DataConvertOptions dependee) const -> bool
auto generate_conversion_req_map () const -> std::map< process::DataConvertOptions, bool >

Private Member Functions

auto add_binary_file (const std::string &filename, process::DataConvertOptions prev_conversion) -> bool
auto add_udp_file (const std::string &filename, process::DataConvertOptions prev_conversion) -> bool
auto add_root_file (const std::string &filename, process::DataConvertOptions prev_conversion) -> bool
auto add_json_file (const std::string &filename, process::DataConvertOptions prev_conversion) -> bool
template<typename WriterType>
void write_to_files (std::map< std::string, std::unique_ptr< WriterType > > &writers, auto make_future)
template<typename WriterType>
void for_each_file (std::map< std::string, std::unique_ptr< WriterType > > &writers, auto visitor)
template<typename WriterType>
void for_each_file (const std::map< std::string, std::unique_ptr< WriterType > > &writers, auto visitor) const

Private Attributes

std::map< std::string, std::unique_ptr< BinaryFile > > binary_files_
std::map< std::string, std::unique_ptr< UDP > > udp_files_
std::map< std::string, std::unique_ptr< Json > > json_files_
workflow::Handlerworkflow_handler_ = nullptr
std::vector< boost::unique_future< std::optional< std::size_t > > > write_futures_

Detailed Description

Definition at line 48 of file DataWriter.hpp.

Constructor & Destructor Documentation

◆ Manager() [1/3]

srs::writer::Manager::Manager ( workflow::Handler * processor)
explicit

Definition at line 66 of file DataWriter.cpp.

◆ ~Manager()

srs::writer::Manager::~Manager ( )
default

◆ Manager() [2/3]

srs::writer::Manager::Manager ( const Manager & )
delete

◆ Manager() [3/3]

srs::writer::Manager::Manager ( Manager && )
default

Member Function Documentation

◆ add_binary_file()

auto srs::writer::Manager::add_binary_file ( const std::string & filename,
process::DataConvertOptions prev_conversion )->bool
private

Definition at line 93 of file DataWriter.cpp.

◆ add_json_file()

auto srs::writer::Manager::add_json_file ( const std::string & filename,
process::DataConvertOptions prev_conversion )->bool
private

Definition at line 132 of file DataWriter.cpp.

◆ add_root_file()

auto srs::writer::Manager::add_root_file ( const std::string & filename,
process::DataConvertOptions prev_conversion )->bool
private

Definition at line 118 of file DataWriter.cpp.

◆ add_udp_file()

auto srs::writer::Manager::add_udp_file ( const std::string & filename,
process::DataConvertOptions prev_conversion )->bool
private

Definition at line 101 of file DataWriter.cpp.

◆ do_for_each_writer() [1/2]

void srs::writer::Manager::do_for_each_writer ( WriterVisitor auto visitor)

Definition at line 121 of file DataWriter.hpp.

◆ do_for_each_writer() [2/2]

void srs::writer::Manager::do_for_each_writer ( WriterVisitor auto visitor) const

Definition at line 131 of file DataWriter.hpp.

◆ for_each_file() [1/2]

template<typename WriterType>
void srs::writer::Manager::for_each_file ( const std::map< std::string, std::unique_ptr< WriterType > > & writers,
auto visitor ) const
inlineprivate

Definition at line 112 of file DataWriter.hpp.

◆ for_each_file() [2/2]

template<typename WriterType>
void srs::writer::Manager::for_each_file ( std::map< std::string, std::unique_ptr< WriterType > > & writers,
auto visitor )
inlineprivate

Definition at line 104 of file DataWriter.hpp.

◆ generate_conversion_req_map()

auto srs::writer::Manager::generate_conversion_req_map ( ) const->std::map< process::DataConvertOptions, bool >
nodiscard

Definition at line 82 of file DataWriter.cpp.

◆ get_binary_writers()

auto srs::writer::Manager::get_binary_writers ( ) const->constauto &
inlinenodiscard

Definition at line 66 of file DataWriter.hpp.

◆ is_convert_required()

auto srs::writer::Manager::is_convert_required ( process::DataConvertOptions dependee) const->bool
nodiscard

Definition at line 73 of file DataWriter.cpp.

◆ operator=() [1/2]

Manager & srs::writer::Manager::operator= ( const Manager & )
delete

◆ operator=() [2/2]

Manager & srs::writer::Manager::operator= ( Manager && )
default

◆ reset()

void srs::writer::Manager::reset ( )
inline

Definition at line 64 of file DataWriter.hpp.

◆ set_output_filenames()

void srs::writer::Manager::set_output_filenames ( const std::vector< std::string > & filenames)

Definition at line 139 of file DataWriter.cpp.

◆ wait_for_finished()

void srs::writer::Manager::wait_for_finished ( )

Definition at line 91 of file DataWriter.cpp.

◆ write_to_files()

template<typename WriterType>
void srs::writer::Manager::write_to_files ( std::map< std::string, std::unique_ptr< WriterType > > & writers,
auto make_future )
inlineprivate

Definition at line 94 of file DataWriter.hpp.

◆ write_with()

void srs::writer::Manager::write_with ( auto make_future)

Definition at line 141 of file DataWriter.hpp.

Member Data Documentation

◆ binary_files_

std::map<std::string, std::unique_ptr<BinaryFile> > srs::writer::Manager::binary_files_
private

Definition at line 79 of file DataWriter.hpp.

◆ json_files_

std::map<std::string, std::unique_ptr<Json> > srs::writer::Manager::json_files_
private

Definition at line 81 of file DataWriter.hpp.

◆ udp_files_

std::map<std::string, std::unique_ptr<UDP> > srs::writer::Manager::udp_files_
private

Definition at line 80 of file DataWriter.hpp.

◆ workflow_handler_

workflow::Handler* srs::writer::Manager::workflow_handler_ = nullptr
private

Definition at line 85 of file DataWriter.hpp.

◆ write_futures_

std::vector<boost::unique_future<std::optional<std::size_t> > > srs::writer::Manager::write_futures_
private

Definition at line 86 of file DataWriter.hpp.


The documentation for this class was generated from the following files: