ddt  1.0.0
dataAcquisition.hpp
Go to the documentation of this file.
1 
21 #ifndef DATAACQUISITION_HPP
22 #define DATAACQUISITION_HPP
23 
24 #include <sys/stat.h>
25 
26 #include <algorithm>
27 #include <boost/bind/bind.hpp>
28 #include <boost/signals2/signal.hpp>
29 #include <boost/tokenizer.hpp>
30 #include <cctype>
31 
32 // Subscriber Library
35 #include "ddt/ddtLogger.hpp"
36 
40 typedef boost::signals2::signal<void()> SignalT;
41 
42 namespace ddt {
43 
53  public:
59 
63  virtual ~DataAcquisition();
64 
69  void set_logger(ddt::DdtLogger* const in_logger);
70 
75  void AttachDataStream(const std::string data_stream_id);
76 
81  void DetachDataStream(const std::string data_stream_id);
82 
86  void ProcessNewData();
87 
92 
98 
104  bool get_AttachedToStream() const;
105 
106  protected:
111 
112  private:
116  void Initialize();
117 
118  SignalT data_available_signal;
119  ddt::DataSample* data_sample;
120 
121  std::unique_ptr<ddt::DdtDataSubscriber> subscriber;
122 
123  bool attached_to_stream;
124  std::string current_stream_id;
125  boost::signals2::connection connection;
126 };
127 
128 } // namespace ddt
129 
130 #endif /* DATAACQUISITION_HPP */
131 
Definition: dataAcquisition.hpp:52
DataAcquisition()
Definition: dataAcquisition.cpp:25
void ProcessNewData()
Definition: dataAcquisition.cpp:43
bool get_AttachedToStream() const
Definition: dataAcquisition.cpp:60
void AttachDataStream(const std::string data_stream_id)
Definition: dataAcquisition.cpp:64
virtual ~DataAcquisition()
ddt::DataSample * get_DataSample()
Definition: dataAcquisition.cpp:58
ddt::DdtLogger * logger
Definition: dataAcquisition.hpp:110
void set_logger(ddt::DdtLogger *const in_logger)
Definition: dataAcquisition.cpp:30
void DetachDataStream(const std::string data_stream_id)
Definition: dataAcquisition.cpp:137
SignalT * DataAvailableSignal()
Definition: dataAcquisition.cpp:152
Definition: ddtLogger.hpp:51
boost::signals2::signal< void()> SignalT
Definition: dataAcquisition.hpp:40
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:82
Definition: ddtClient.hpp:39
Definition: ddtMemoryAccessor.hpp:184