ddt  1.0.0
ddtProducerConsumerBase.hpp
Go to the documentation of this file.
1 
21 #ifndef DDTPRODUCERCONSUMERBASE_HPP_
22 #define DDTPRODUCERCONSUMERBASE_HPP_
23 
24 #include <boost/property_tree/ini_parser.hpp>
25 #include <boost/property_tree/ptree.hpp>
26 
27 #include "ddt/ddtConstants.hpp"
28 #include "ddt/ddtLogger.hpp"
30 
31 #include "ddt/ddtPublisher.hpp"
32 
33 namespace mal = ::elt::mal;
34 namespace datatransfer = ::elt::ddt::datatransfer;
35 
36 namespace ddt {
37 
44  public:
49  explicit DdtProducerConsumerBase(DdtLogger* ddt_logger);
50 
55 
75  SHM_DEL
76  };
77 
82  virtual void Notify(NotificationType type) = 0;
83 
84  protected:
89  void Init(DdtLogger* ddt_logger);
90 
94  void LoadDefaults();
95 
99  void ReadIni();
100 
104  void PrintConfigValues();
105 
111  int32_t GetFreePort() const;
112 
116  int32_t min_port;
117 
121  int32_t max_port;
122 
127 
131  const int MIN_PORT_DEFAULT = 5100;
132 
136  const int MAX_PORT_DEFAULT = 5500;
137 
141  const int MIN_RANGE = 3;
142 
146  const int LINE_LENGTH = 256;
147 };
148 
149 } // namespace ddt
150 
151 #endif /* DDTPRODUCERCONSUMERBASE_HPP_ */
152 
Definition: ddtLogger.hpp:51
Definition: ddtProducerConsumerBase.hpp:43
void ReadIni()
Definition: ddtProducerConsumerBase.cpp:44
NotificationType
Definition: ddtProducerConsumerBase.hpp:59
@ PUB_UNREG
Definition: ddtProducerConsumerBase.hpp:71
@ PUB_REG
Definition: ddtProducerConsumerBase.hpp:67
@ NEW_DATA
Definition: ddtProducerConsumerBase.hpp:63
@ SHM_DEL
Definition: ddtProducerConsumerBase.hpp:75
int32_t GetFreePort() const
Definition: ddtProducerConsumerBase.cpp:100
void PrintConfigValues()
Definition: ddtProducerConsumerBase.cpp:93
const int MIN_RANGE
Definition: ddtProducerConsumerBase.hpp:141
int32_t max_port
Definition: ddtProducerConsumerBase.hpp:121
void Init(DdtLogger *ddt_logger)
Definition: ddtProducerConsumerBase.cpp:34
DdtProducerConsumerBase(DdtLogger *ddt_logger)
Definition: ddtProducerConsumerBase.cpp:25
virtual void Notify(NotificationType type)=0
void LoadDefaults()
Definition: ddtProducerConsumerBase.cpp:38
int32_t min_port
Definition: ddtProducerConsumerBase.hpp:116
const int MIN_PORT_DEFAULT
Definition: ddtProducerConsumerBase.hpp:131
DdtLogger * logger
Definition: ddtProducerConsumerBase.hpp:126
const int LINE_LENGTH
Definition: ddtProducerConsumerBase.hpp:146
const int MAX_PORT_DEFAULT
Definition: ddtProducerConsumerBase.hpp:136
Contains common used constants. This file shall contain constants that can be used by all application...
Class to wrap the usage of log4cplus as logging utility. This file provides a wrapper class for the u...
Accessor for a shared memory. This class provides the functionalities to access created shared memori...
MAL Publisher. This class provides the functionality to create MAL Publishers used for publishing dat...
Definition: ddtClient.hpp:39