UniRec 3.3.2
Loading...
Searching...
No Matches
unirec.hpp
Go to the documentation of this file.
1#pragma once
2
4#include "inputInterface.hpp"
5#include "outputInterface.hpp"
6#include "trapModuleInfo.hpp"
7
8#include <libtrap/trap.h>
9#include <string>
10#include <unirec/unirec.h>
11
12namespace Nemea {
13
14class Unirec {
15public:
16 /*
17 * @brief Constructs a new Unirec object with the given TrapModuleInfo.
18 * @param trapModuleInfo A reference to a TrapModuleInfo object containing information about the
19 * trap module being used.
20 */
21 Unirec(const TrapModuleInfo& trapModuleInfo);
22
23 ~Unirec();
24
25 void init(int& argc, char** argv);
26
27 ur_field_id_t defineUnirecField(const std::string& fieldName, ur_field_type_t fieldType);
28
37
38 bool isInputInterfaceAvailable() const noexcept { return m_availableInputInterfaces; }
44
45private:
46 void parseCommandLine(int& argc, char** argv, trap_ifc_spec_t& trapIfcSpec);
47
51};
52
53} // namespace Nemea
Defines a bidirectional interface for sending and receiving unirec records using the TRAP interface p...
Class representing information about a trap module.
A class that provides a bidirectional interface for sending and receiving unirec records.
A class that provides an interface for receiving data in the Unirec format using the TRAP library.
A class for sending UniRec records through a Trap interface.
Unirec(const TrapModuleInfo &trapModuleInfo)
Definition unirec.cpp:6
bool isBidirectionalInterfaceAvailable() const noexcept
Definition unirec.hpp:40
UnirecBidirectionalInterface buildBidirectionalInterface()
Definition unirec.cpp:64
void parseCommandLine(int &argc, char **argv, trap_ifc_spec_t &trapIfcSpec)
Definition unirec.cpp:30
UnirecInputInterface buildInputInterface()
Builds and returns a UnirecInputInterface object if an input interface is available.
Definition unirec.cpp:46
TrapModuleInfo m_trapModuleInfo
Definition unirec.hpp:50
void init(int &argc, char **argv)
Definition unirec.cpp:13
bool isInputInterfaceAvailable() const noexcept
Definition unirec.hpp:38
bool isOutputInterfaceAvailable() const noexcept
Definition unirec.hpp:39
uint8_t m_availableInputInterfaces
Definition unirec.hpp:48
ur_field_id_t defineUnirecField(const std::string &fieldName, ur_field_type_t fieldType)
Definition unirec.cpp:75
UnirecOutputInterface buildOutputInterface()
Definition unirec.cpp:55
uint8_t m_availableOutputInterfaces
Definition unirec.hpp:49
Provides an interface for receiving UniRec records using the TRAP protocol.
Defines the UnirecOutputInterface class.
Contains the definition of the TrapModuleInfo class.
Definition of UniRec structures and functions.
ur_field_type_t
Definition unirec.h:95
int16_t ur_field_id_t
Type of UniRec field identifiers.
Definition unirec.h:136