Program Listing for File bus.hpp

Return to documentation for file (bus.hpp)

#ifndef FELIX_BUS_H_
#define FELIX_BUS_H_

#include <string>
#include <vector>

#include "ers/ers.h"
#include "elink.hpp"
#include "felixbus/FelixBusElinkInfo.hpp"
#include "felixbus/FelixBusWriter.hpp"

ERS_DECLARE_ISSUE(felix_log, bus_issue, issue_message, ((const std::string&)issue_message))

class FelixBus;

class Bus
{
    public:
        explicit Bus(const std::string& bus_dir, const std::string& bus_group, int dmaid, bool verbose);

        explicit Bus(const std::string& bus_dir, const std::string& bus_group, const std::string& filename, bool verbose);

        Bus(const Bus &) = delete;
        Bus &operator=(const Bus &) = delete;

        bool publish(std::span<const felixbus::FelixBusElinkInfo> data);
    private:
        std::string m_felix_bus_path;
        felixbus::FelixBusElinkWriter m_bus;
};

#endif /* FELIX_BUS_H_ */