Program Listing for File fifo_writer.hpp

Return to documentation for file (monitoring/fifo_writer.hpp)

#ifndef FIFO_WRITER_HPP_
#define FIFO_WRITER_HPP_

#include <cstring>

#include <signal.h>
#include <fcntl.h>
#include <unistd.h>

#include <ers/ers.h>

#include "writer.hpp"

ERS_DECLARE_ISSUE(monitoring_log, fifo_issue, issue_message, ((const std::string&)issue_message))


class FIFOWriter : public Writer {
public:
    explicit FIFOWriter(const std::string& fifoname);

    ~FIFOWriter();

    void write_message(const nlohmann::json& message) override;

private:
    void validate_fifo(const std::string& fifoname);

    int m_fifo_fd{-1};
};

#endif // FIFO_WRITER_HPP_