ddt 1.4.0
 
Loading...
Searching...
No Matches
dataAcquisition.hpp
Go to the documentation of this file.
1
11
12#ifndef DATAACQUISITION_HPP
13#define DATAACQUISITION_HPP
14
15#include <sys/stat.h>
16
17#include <algorithm>
18#include <boost/bind/bind.hpp>
19#include <boost/signals2/signal.hpp>
20#include <boost/tokenizer.hpp>
21#include <cctype>
22
23// Subscriber Library
26#include "ddt/ddtLogger.hpp"
27
31typedef boost::signals2::signal<void()> SignalT;
32
33
34namespace ddt {
35
45 public:
49typedef boost::signals2::signal<void(ddt::DdtDataTransferLib::ConnectionState)>
51
57
62
67 void set_logger(ddt::DdtLogger* const in_logger);
68
73 void AttachDataStream(const std::string data_stream_id);
74
79 void DetachDataStream(const std::string data_stream_id);
80
84 void ProcessNewData();
85
90
97
103
109
115 bool get_AttachedToStream() const;
116
122 void set_RetrieveStatsFlag(bool value);
123
124 protected:
129
130 private:
134 void Initialize();
135
136 SignalT data_available_signal;
137 ConnectionStateSignalT connection_state_signal;
138 ddt::DataSample* data_sample;
139 ddt::DdtStatistics statistics_sample;
140
141 std::unique_ptr<ddt::DdtDataSubscriber> subscriber;
142
143 bool retrieve_stats;
144 bool attached_to_stream;
145 std::string current_stream_id;
146 boost::signals2::connection connection;
147 boost::signals2::connection connection_state_connection;
148};
149
150} // namespace ddt
151
152#endif /* DATAACQUISITION_HPP */
boost::signals2::signal< void(ddt::DdtDataTransferLib::ConnectionState)> ConnectionStateSignalT
Definition dataAcquisition.hpp:50
ConnectionStateSignalT * ConnectionStateSignal()
Definition dataAcquisition.cpp:167
DataAcquisition()
Definition dataAcquisition.cpp:17
void ProcessNewData()
Definition dataAcquisition.cpp:38
bool get_AttachedToStream() const
Definition dataAcquisition.cpp:64
void AttachDataStream(const std::string data_stream_id)
Definition dataAcquisition.cpp:68
ddt::DdtStatistics * get_DataStatistics()
Definition dataAcquisition.cpp:60
virtual ~DataAcquisition()
ddt::DataSample * get_DataSample()
Definition dataAcquisition.cpp:56
void set_RetrieveStatsFlag(bool value)
Definition dataAcquisition.cpp:171
ddt::DdtLogger * logger
Definition dataAcquisition.hpp:128
void set_logger(ddt::DdtLogger *const in_logger)
Definition dataAcquisition.cpp:22
void DetachDataStream(const std::string data_stream_id)
Definition dataAcquisition.cpp:146
SignalT * DataAvailableSignal()
Definition dataAcquisition.cpp:163
ConnectionState
Definition ddtDataTransferLib.hpp:43
Definition ddtLogger.hpp:43
Data Subscriber. This class provides the functionality for subscriber applications to register / unre...
Factory for DdtDataPublishers and DdtDataSubscribers. This class provides factory methods for creatin...
Class to wrap the usage of log4cplus as logging utility. This file provides a wrapper class for the u...
boost::signals2::signal< void()> SignalT
Definition ddtMemoryAccessor.hpp:73
Definition ddtClient.hpp:32
Definition ddtMemoryAccessor.hpp:175
Definition ddtStatistics.hpp:18