ifw-ccf  3.0.0-pre2
base.hpp
Go to the documentation of this file.
1 
5 #ifndef CCF_COMMON_BASE_HPP_H_
6 #define CCF_COMMON_BASE_HPP_H_
7 
8 #include <fmt/format.h>
9 
10 #include <boost/exception/diagnostic_information.hpp>
11 
12 #include <Recif.hpp>
13 #include <core/utils/base/base.hpp>
14 #include <core/utils/system/system.hpp>
15 #include <core/utils/time/time.hpp>
16 #include <core/utils/conversion/conversion.hpp>
17 #include <utils/bat/config.hpp>
18 
19 #include <ccf/mptk/manager.hpp>
20 #include <ccf/common/dataType.hpp>
21 
22 namespace ccf {
24 
26  enum class LogLevel {
27  OFF = 0,
28  FATAL = 100,
29  ERROR = 200,
30  WARN = 300,
31  INFO = 400,
32  DEBUG = 500,
33  DEBUG2 = 501,
34  DEBUG3 = 502,
35  TRACE = 600,
36  NOT_SET = -1
37  };
38 
40  // @{
41  namespace loglevel {
42  constexpr auto OFF = "OFF";
43  constexpr auto FATAL = "FATAL";
44  constexpr auto ERROR = "ERROR";
45  constexpr auto WARN = "WARN";
46  constexpr auto INFO = "INFO";
47  constexpr auto DEBUG = "DEBUG";
48  constexpr auto DEBUG2 = "DEBUG2";
49  constexpr auto DEBUG3 = "DEBUG3";
50  constexpr auto TRACE = "TRACE";
51  }
52  // @}
53 
54  inline LogLevel LogLevelToNb(const std::string& log_level) {
55  static std::map<std::string, LogLevel> s_log_level_str_to_nb_map =
61  try {
62  return s_log_level_str_to_nb_map[log_level];
63  } catch (...) {
64  throw std::runtime_error("Invalid log level given: " + log_level);
65  }
66  }
67 
68  inline std::string LogLevelToString(const LogLevel log_level) {
69  static std::map<LogLevel, std::string> s_log_level_nb_to_str_map =
75  return s_log_level_nb_to_str_map[log_level];
76  }
77 
79  constexpr auto CCF_VERSION = "1.2.0";
80 
82  constexpr auto IFW_VERSION = "4.0";
83 
84  constexpr auto NO_VALUE = "__NO__VALUE__";
85 
87  const std::string DB_DELIM = std::string(utils::bat::CONFIG_DB_DELIMITER);
88 
89  // @{
90  const std::string DB_NODE_SM_STATUS_STATE =
91  ("sm" + DB_DELIM + "status" + DB_DELIM + "state");
92  const std::string DB_NODE_SM_STATUS_SUBSTATE =
93  ("sm" + DB_DELIM + "status" + DB_DELIM + "substate");
94  const std::string DB_NODE_SM_STATE =
95  ("sm" + DB_DELIM + "state");
96  // @}
97 
99  // @{
100  constexpr auto META_KEY_EXPO_RATE = "MetaExpoType";
101  constexpr auto META_KEY_EXPO_TIME = "MetaExpoTime";
102  constexpr auto META_KEY_EXPO_WIN_BINX = "MetaExpoWinBinX";
103  constexpr auto META_KEY_EXPO_WIN_BINY = "MetaExpoWinBinY";
104  constexpr auto META_KEY_EXPO_WIN_STARTX = "MetaExpoWinStartX";
105  constexpr auto META_KEY_EXPO_WIN_STARTY = "MetaExpoWinStartY";
106  constexpr auto META_KEY_SYSTEM = "MetaSystem";
107  constexpr auto META_KEY_CAM_NAME = "MetaCamName";
108  constexpr auto META_KEY_CAM_ID = "MetaCamId";
109  constexpr auto META_KEY_CAM_MODEL = "MetaCamModel";
110  constexpr auto META_KEY_CAM_CHIPMODEL = "MetaCamChipModel";
111  constexpr auto META_KEY_CAM_TYPE = "MetaCamType";
112  // @}
113 
115  // @{
116  constexpr auto STATE_ON_NOT_OP_NOT_READY = "On::NotOperational::NotReady";
117  constexpr auto STATE_ON_NOT_OP_READY = "On::NotOperational::Ready";
118  constexpr auto STATE_ON_OP_IDLE = "On::Operational::Idle";
119  constexpr auto STATE_ON_OP_ACQ = "On::Operational::Acquisition";
120  constexpr auto STATE_ON_OP_ACQ_NOT_REC = "On::Operational::Acquisition::NotRecording";
121  constexpr auto STATE_ON_OP_ACQ_REC = "On::Operational::Acquisition::Recording";
122  // @}
123 
124  enum class ThreadType {
125  MONITOR = 1,
126  ACQUISITION,
127  PROCESSING,
128  PUBLISHER,
129  UNDEFINED = -1
130  };
131 
133  void SendThrMsg(const std::string& command,
134  const std::string& sender_thread_name,
135  const std::string& receiver_thread_name,
136  const std::string& data);
137 
139  bool ReceiveThrMsg(const std::string& receiver_thread_name,
140  const double time_out,
141  ccf::mptk::Message& message);
142 
146  void DecomposeSmStatus(const std::string& sm_state,
147  std::string& sum_state,
148  std::string& sum_substate);
149 
151  class Base {
152  public:
153 
156  return s_mptk_mgr;
157  }
158 
160  static void SetLogLevel(const ccf::LogLevel log_level);
161 
163  static ccf::LogLevel GetLogLevel();
164 
165  Base();
166  ~Base();
167 
169  const std::string& GetClassName() const;
170 
173 
174  protected:
176  void SetClassName(const std::string& class_name);
177 
179  void SetLogger(log4cplus::Logger& logger);
180 
182 
183  private:
184  static ccf::mptk::Manager s_mptk_mgr;
185  static ccf::LogLevel s_log_level;
186  std::string m_class_name;
187  };
188 
190  void AssertPtr(const void* ptr,
191  const std::string& object,
192  const std::string& location);
193 
195  enum class HwStatus {
196  NOT_OK = 0,
197  OK
198  };
199 
201  enum class Status {
202  FAILURE = 0,
203  SUCCESS = 1
204  };
205 
207  // @{
208  constexpr auto SUCCESS = "Success";
209  constexpr auto FAILURE = "Failure";
210  // @}
211 
213  std::string StatusToStr(ccf::Status status);
214 
216  inline DataTypes BitpixToDataType(const int8_t bitpix) {
217  switch (bitpix) {
218  case BYTE_IMG:
219  return DataTypes::BYTE;
220  case SHORT_IMG:
221  return DataTypes::INT16;
222  case USHORT_IMG:
223  return DataTypes::UINT16;
224  case LONG_IMG:
225  return DataTypes::INT32;
226  case FLOAT_IMG:
227  return DataTypes::FLOAT;
228  case LONGLONG_IMG:
229  return DataTypes::INT64;
230  case DOUBLE_IMG:
231  return DataTypes::DOUBLE;
232  default:
233  return DataTypes::INVALID;
234  }
235  }
236 
238  inline static int8_t DataTypeToBitpix(const DataTypes data_type) {
239  switch (data_type) {
240  case DataTypes::BYTE:
241  return BYTE_IMG;
242  break;
243  case DataTypes::INT16:
244  return SHORT_IMG;
245  break;
246  case DataTypes::UINT16:
247  return USHORT_IMG;
248  break;
249  case DataTypes::INT32:
250  return LONG_IMG;
251  break;
252  case DataTypes::FLOAT:
253  return FLOAT_IMG;
254  break;
255  case DataTypes::DOUBLE:
256  return DOUBLE_IMG;
257  break;
258  default:
259  return 0;
260  }
261  }
262 
264  enum class PubType {
265  UNDEFINED = -1,
266  RECORDING = 1,
268  };
269 
271  enum class PubStatus {
272  ACTIVE = recif::RecStatusNames::Active,
273  COMPLETED = recif::RecStatusNames::Completed,
274  STOPPED = recif::RecStatusNames::Stopped,
275  ABORTED = recif::RecStatusNames::Aborted,
276  FAILED = recif::RecStatusNames::Failed,
277  UNDEFINED = recif::RecStatusNames::Undefined
278  };
279 
281  void ResetRecStatusObj(std::shared_ptr<recif::RecStatus>& rec_status_obj,
282  const recif::RecStatusNames rec_status = recif::RecStatusNames::Undefined);
283 
285  void CopyRecStatusObj(const std::shared_ptr<recif::RecStatus>& src_rec_status_obj,
286  const std::shared_ptr<recif::RecStatus>& trg_rec_status_obj);
287 
289  enum class ProcStatus {
290  UNDEFINED = -1,
291  IDLE = 1,
292  PROCESSING = 32,
293  FINISHED = 128,
294  FAILED = 256
295  };
296 
297  // TODO: Change name to Acquisition Mode.
299  enum class ExpoMode {
300  FINITE = 1,
301  CONTINUOUS,
302  INACTIVE
303  };
304 
306 // @{
307  constexpr auto CFG_NODE_ACQUISITION = "acquisition";
308  constexpr auto CFG_NODE_MONITORING = "monitoring";
309  constexpr auto CFG_NODE_PROCESSING = "processing";
310  constexpr auto CFG_NODE_RECORDING = "recording";
311  constexpr auto CFG_NODE_SERVER = "server";
312  constexpr auto CFG_NODE_TASKS = "tasks";
313 
314  constexpr auto CFG_KEY_ADAPTER = "adapter";
315  constexpr auto CFG_KEY_ADDRESS = "address";
316  constexpr auto CFG_KEY_ALLOW_FRAME_SKIPPING = "allow_frame_skipping";
317  constexpr auto CFG_KEY_ALLOW_LOST_FRAMES = "allow_lost_frames";
318  constexpr auto CFG_KEY_DEVICES = "devices";
319  constexpr auto CFG_KEY_HEIGHT = "height";
320  constexpr auto CFG_KEY_ID = "id";
321  //constexpr auto CFG_KEY_IMAGE_DIR = "image_dir";
322  constexpr auto CFG_KEY_INIT_SETUP = "init_setup";
323  constexpr auto CFG_KEY_INPUT_QUEUE_SIZE = "input_queue_size";
324  constexpr auto CFG_KEY_MANUFACTURER = "manufacturer";
325  constexpr auto CFG_KEY_MAPPING = "mapping";
326  constexpr auto CFG_KEY_MAX_RATE = "max_rate";
327  constexpr auto CFG_KEY_MAX_RESOLUTION = "max_resolution";
328  constexpr auto CFG_KEY_METADATA_MAP = "metadata_map";
329  constexpr auto CFG_KEY_MODEL = "model";
330  constexpr auto CFG_KEY_NAME = "name";
331  constexpr auto CFG_KEY_NAMES = "names";
332  constexpr auto CFG_KEY_NB_OF_SAMPLES = "nb_of_samples";
333  constexpr auto CFG_KEY_OUPUT_QUEUE_SIZE = "output_queue_size";
334  constexpr auto CFG_KEY_PERIOD = "period";
335  constexpr auto CFG_KEY_PIPELINE = "pipeline";
336  constexpr auto CFG_KEY_PROPERTIES = "properties";
337  constexpr auto CFG_KEY_PROTOCOL = "protocol";
338  constexpr auto CFG_KEY_PUBLISHERS = "publishers";
339  constexpr auto CFG_KEY_RECIPES = "recipes";
340  constexpr auto CFG_KEY_REC_HIST_EXP = "rec_hist_expiration";
341  constexpr auto CFG_KEY_REC_HIST_SIZE = "rec_hist_size";
342  constexpr auto CFG_KEY_RESOLUTION = "resolution";
343  constexpr auto CFG_KEY_SDK = "sdk";
344  constexpr auto CFG_KEY_SIMULATION = "simulation";
345  constexpr auto CFG_KEY_SIM_ADDRESS = "sim_address";
346  constexpr auto CFG_KEY_TYPE = "type";
347  constexpr auto CFG_KEY_VALUE = "value";
348  constexpr auto CFG_KEY_WIDTH = "width";
349  constexpr auto CFG_KEY_WRITE_ON_INIT = "write_on_init";
350 // @}
351 
353  // @{
354  constexpr auto SETUP_NODE_EXPO = "expo";
355  constexpr auto SETUP_NODE_SIM = "sim";
356 
357  constexpr auto SETUP_KEY_ADDRESS = "address";
358  constexpr auto SETUP_KEY_BASENAME = "basename";
359  constexpr auto SETUP_KEY_BIN_X = "bin_x";
360  constexpr auto SETUP_KEY_BIN_Y = "bin_y";
361  constexpr auto SETUP_KEY_DELAY = "delay";
362  constexpr auto SETUP_KEY_ENABLED = "enabled";
363  constexpr auto SETUP_KEY_FILE = "file";
364  constexpr auto SETUP_KEY_FORMAT = "format";
365  constexpr auto SETUP_KEY_FRAME_RATE = "frame_rate";
366  constexpr auto SETUP_KEY_FRAME_RATE_LIMIT = "frame_rate_limit";
367  constexpr auto SETUP_KEY_MAX_RATE = "max_rate";
368  constexpr auto SETUP_KEY_MAX_SHIFT = "max_shift";
369  constexpr auto SETUP_KEY_MAX_SHIFT_PR_FRAME = "max_shift_pr_frame";
370  constexpr auto SETUP_KEY_MAX_SIZE = "max_size";
371  constexpr auto SETUP_KEY_MODE = "mode";
372  constexpr auto SETUP_KEY_NB = "nb";
373  constexpr auto SETUP_KEY_RATE = "rate";
374  constexpr auto SETUP_KEY_NOISE = "noise";
375  constexpr auto SETUP_KEY_PORT = "port";
376  constexpr auto SETUP_KEY_TIME = "time";
377  constexpr auto SETUP_KEY_TYPE = "type";
378  constexpr auto SETUP_KEY_WIN_START_X = "win_start_x";
379  constexpr auto SETUP_KEY_WIN_START_Y = "win_start_y";
380  constexpr auto SETUP_KEY_WIN_WIDTH = "win_width";
381  constexpr auto SETUP_KEY_WIN_HEIGHT = "win_height";
382 // @}
383 
385  // @{
386  constexpr auto EXPO_MODE_FINITE = "Finite";
387  constexpr auto EXPO_MODE_CONTINUOUS = "Continuous";
388  constexpr auto EXPO_MODE_INACTIVE = "Inactive";
389  // @}
390 
391  // Prefix prepended to Recording Session IDs.
392  constexpr auto REC_ID_PREFIX = "RecId";
393 
395  ExpoMode ExpoModeToNb(const std::string& expo_mode);
396 
398  enum class SimType {
399  FILE = 1,
400  PATTERN1
401  };
402 
404  // @{
405  constexpr auto SIM_TYPE_FILE_STR = "File";
406  constexpr auto SIM_TYPE_PATTERN1_STR = "Pattern1";
407  // @}
408 
410  // @{
411  constexpr auto PUB_STAT_NAME_ACTIVE = "Active";
412  constexpr auto PUB_STAT_NAME_COMPLETED = "Completed";
413  constexpr auto PUB_STAT_NAME_STOPPED = "Stopped";
414  constexpr auto PUB_STAT_NAME_ABORTED = "Aborted";
415  constexpr auto PUB_STAT_NAME_FAILED = "Failed";
416  constexpr auto PUB_STAT_NAME_UNDEFINED = "Undefined";
417  // @}
418 
420  std::string RecStatusNameToStr(recif::RecStatusNames rec_status_nb);
421 
423  std::string PubStatusNameToStr(PubStatus pub_status_nb);
424 
426  std::string BuildKey(const std::vector<std::string>& elements);
427 
429  std::vector<std::string> SplitKey(const std::string& key);
430 
431 }
432 
434 inline std::string CcfThreadName() {
435  char thread_name[32];
436  pthread_getname_np(pthread_self(), thread_name, 32);
437  return thread_name;
438 }
439 
441 #define CCFLOC (std::string(__FILE__) + ":" + std::to_string(__LINE__) + ":" + \
442  std::string(__FUNCTION__) + ":" + CcfThreadName())
443 #define CCFL0C (std::string(__FILE__) + ":" + std::to_string(__LINE__) + ":" + \
444  std::string(__FUNCTION__) + ":" + CcfThreadName() + ": ")
445 
448 inline void CcfDebug(const std::string& location,
449  const std::string& msg) {
450  fmt::print("{}:{}#> {}\n", core::utils::time::IsoTimeNow(), location, msg);
451  fflush(stdout);
452 }
453 
455 #define INFO_LOG_GUARD if (ccf::Base::GetLogLevel() >= ccf::LogLevel::INFO)
456 
458 #define DEBUG_LOG_GUARD if (ccf::Base::GetLogLevel() >= ccf::LogLevel::DEBUG)
459 
461 #define DEBUG2_LOG_GUARD if (ccf::Base::GetLogLevel() >= ccf::LogLevel::DEBUG2)
462 
464 #define DEBUG3_LOG_GUARD if (ccf::Base::GetLogLevel() >= ccf::LogLevel::DEBUG3)
465 
467 //#define TRACE_LOG_GUARD if (ccf::Base::GetLogLevel() >= ccf::LogLevel::TRACE)
468 
470 //#define CCF_ERROR(logger, msg) LOG4CPLUS_ERROR(logger, CCFLOC << ": " << msg)
471 
473 //#define CCF_WARNING(logger, msg) LOG4CPLUS_WARN(logger, CCFLOC << ": " << msg)
474 
476 //#define CCF_INFO(logger, msg) INFO_LOG_GUARD { LOG4CPLUS_INFO(logger, CCFLOC << ": " << msg); }
477 
479 //#define CCF_DEBUG(logger, msg) DEBUG_LOG_GUARD { LOG4CPLUS_DEBUG(logger, CCFLOC << ": " << msg); }
480 
482 //#define CCF_DEBUG2(logger, msg) DEBUG2_LOG_GUARD { LOG4CPLUS_DEBUG(logger, CCFLOC << ": " << msg); }
483 
485 //#define CCF_DEBUG3(logger, msg) DEBUG3_LOG_GUARD { LOG4CPLUS_DEBUG(logger, CCFLOC << ": " << msg); }
486 
489 #define CCFTHROW(msg) throw rad::Exception(CCFLOC + ": " + msg)
490 
491 #endif // CCF_COMMON_BASE_HPP_H_
void CcfDebug(const std::string &location, const std::string &msg)
Definition: base.hpp:448
std::string CcfThreadName()
Return thread name allocated.
Definition: base.hpp:434
Class to be used as parent all CCF classes.
Definition: base.hpp:151
static void SetLogLevel(const ccf::LogLevel log_level)
Set the log level.
Definition: base.cpp:79
log4cplus::Logger & Loggger()
Return reference to logger used in this context.
Definition: base.cpp:88
log4cplus::Logger m_logger
Definition: base.hpp:181
void SetLogger(log4cplus::Logger &logger)
Set reference to logger used in this context.
Definition: base.cpp:92
~Base()
Definition: base.cpp:67
Base()
Definition: base.cpp:63
const std::string & GetClassName() const
Return the allocated name of the class.
Definition: base.cpp:69
void SetClassName(const std::string &class_name)
Set the name of the class in question.
Definition: base.cpp:74
static ccf::mptk::Manager & Mptk()
Return reference to internal MPTK instance (singleton).
Definition: base.hpp:155
static ccf::LogLevel GetLogLevel()
Return the current CCF log level.
Definition: base.cpp:84
IFW CTD Multiprocessing Toolkit Manager class.
Definition: manager.hpp:21
IFW CTD Multiprocessing Toolkit Message class.
Definition: message.hpp:19
constexpr auto FATAL
Definition: base.hpp:43
constexpr auto TRACE
Definition: base.hpp:50
constexpr auto DEBUG2
Definition: base.hpp:48
constexpr auto WARN
Definition: base.hpp:45
constexpr auto DEBUG3
Definition: base.hpp:49
constexpr auto DEBUG
Definition: base.hpp:47
constexpr auto ERROR
Definition: base.hpp:44
constexpr auto OFF
Definition: base.hpp:42
constexpr auto INFO
Definition: base.hpp:46
Definition: appBase.cpp:8
constexpr auto SETUP_NODE_EXPO
Definition: base.hpp:354
constexpr auto SETUP_KEY_BIN_X
Definition: base.hpp:359
ProcStatus
Possible states for a Processing Recipe defined.
Definition: base.hpp:289
const std::string DB_DELIM
Definition: base.hpp:87
constexpr auto CFG_KEY_MODEL
Definition: base.hpp:329
constexpr auto SETUP_KEY_TIME
Definition: base.hpp:376
constexpr auto META_KEY_EXPO_WIN_BINY
Definition: base.hpp:103
constexpr auto META_KEY_SYSTEM
Definition: base.hpp:106
constexpr auto CFG_KEY_REC_HIST_EXP
Definition: base.hpp:340
std::string RecStatusNameToStr(recif::RecStatusNames rec_status_nb)
Recording Status name, number to string representation.
Definition: base.cpp:144
void SendThrMsg(const std::string &command, const std::string &sender_thread_name, const std::string &receiver_thread_name, const std::string &data)
Send MPTK message via internal Message Bus.
Definition: base.cpp:36
constexpr auto CFG_KEY_ADDRESS
Definition: base.hpp:315
constexpr auto CFG_KEY_RESOLUTION
Definition: base.hpp:342
constexpr auto META_KEY_CAM_NAME
Definition: base.hpp:107
std::string PubStatusNameToStr(PubStatus pub_status_nb)
Publisher status, number representation to string.
Definition: base.cpp:132
constexpr auto SETUP_KEY_MAX_SHIFT
Definition: base.hpp:368
constexpr auto META_KEY_CAM_TYPE
Definition: base.hpp:111
constexpr auto META_KEY_CAM_ID
Definition: base.hpp:108
constexpr auto CFG_NODE_SERVER
Definition: base.hpp:311
const std::string DB_NODE_SM_STATUS_STATE
Definition: base.hpp:90
constexpr auto CFG_NODE_MONITORING
Definition: base.hpp:308
constexpr auto CCF_VERSION
Version of CCF.
Definition: base.hpp:79
constexpr auto EXPO_MODE_CONTINUOUS
Definition: base.hpp:387
constexpr auto CFG_KEY_SIMULATION
Definition: base.hpp:344
constexpr auto SETUP_KEY_WIN_START_Y
Definition: base.hpp:379
const std::string DB_NODE_SM_STATUS_SUBSTATE
Definition: base.hpp:92
std::string BuildKey(const std::vector< std::string > &elements)
Build a concatenated key from a number of elements (<el1>.<el2.>...).
Definition: base.cpp:218
constexpr auto CFG_KEY_DEVICES
Definition: base.hpp:318
constexpr auto CFG_KEY_TYPE
Definition: base.hpp:346
ThreadType
Definition: base.hpp:124
void AssertPtr(const void *ptr, const std::string &object, const std::string &location)
Check that pointer is not nullptr and raise rad::exception in case it is.
Definition: base.cpp:53
constexpr auto CFG_NODE_RECORDING
Definition: base.hpp:310
constexpr auto CFG_KEY_PUBLISHERS
Definition: base.hpp:338
constexpr auto CFG_KEY_MAX_RATE
Definition: base.hpp:326
constexpr auto SETUP_KEY_NOISE
Definition: base.hpp:374
constexpr auto CFG_KEY_WRITE_ON_INIT
Definition: base.hpp:349
constexpr auto SETUP_KEY_FRAME_RATE_LIMIT
Definition: base.hpp:366
constexpr auto CFG_KEY_METADATA_MAP
Definition: base.hpp:328
constexpr auto CFG_KEY_MANUFACTURER
Definition: base.hpp:324
constexpr auto STATE_ON_OP_IDLE
Definition: base.hpp:118
constexpr auto META_KEY_EXPO_WIN_BINX
Definition: base.hpp:102
constexpr auto META_KEY_CAM_CHIPMODEL
Definition: base.hpp:110
constexpr auto CFG_KEY_ALLOW_FRAME_SKIPPING
Definition: base.hpp:316
PubType
A Publisher may be Recording or Not-Recording. A Recording Publisher publishes data into files.
Definition: base.hpp:264
DataTypes BitpixToDataType(const int8_t bitpix)
Converts the FITS BITPIX value into a data type.
Definition: base.hpp:216
constexpr auto IFW_VERSION
Version of IFW.
Definition: base.hpp:82
constexpr auto PUB_STAT_NAME_FAILED
Definition: base.hpp:415
constexpr auto SETUP_KEY_ADDRESS
Definition: base.hpp:357
constexpr auto SETUP_KEY_MAX_SIZE
Definition: base.hpp:370
constexpr auto META_KEY_CAM_MODEL
Definition: base.hpp:109
constexpr auto CFG_KEY_SDK
Definition: base.hpp:343
constexpr auto PUB_STAT_NAME_ABORTED
Definition: base.hpp:414
constexpr auto META_KEY_EXPO_WIN_STARTY
Definition: base.hpp:105
constexpr auto META_KEY_EXPO_WIN_STARTX
Definition: base.hpp:104
constexpr auto SETUP_NODE_SIM
Definition: base.hpp:355
log4cplus::Logger & Logger()
Definition: base.cpp:9
constexpr auto CFG_KEY_NAME
Definition: base.hpp:330
constexpr auto SIM_TYPE_PATTERN1_STR
Definition: base.hpp:406
constexpr auto CFG_KEY_REC_HIST_SIZE
Definition: base.hpp:341
constexpr auto PUB_STAT_NAME_ACTIVE
Definition: base.hpp:411
PubStatus
Defines the various possible states of a Data Publisher.
Definition: base.hpp:271
constexpr auto SETUP_KEY_DELAY
Definition: base.hpp:361
constexpr auto CFG_KEY_PERIOD
Definition: base.hpp:334
constexpr auto SETUP_KEY_MAX_SHIFT_PR_FRAME
Definition: base.hpp:369
constexpr auto CFG_KEY_WIDTH
Definition: base.hpp:348
constexpr auto CFG_KEY_MAPPING
Definition: base.hpp:325
constexpr auto NO_VALUE
Definition: base.hpp:84
constexpr auto CFG_KEY_PROPERTIES
Definition: base.hpp:336
constexpr auto SUCCESS
Definition: base.hpp:208
constexpr auto CFG_KEY_OUPUT_QUEUE_SIZE
Definition: base.hpp:333
LogLevel
Log levels defined for CCF; adds two debugging levels: DEBUG2, DEBUG3.
Definition: base.hpp:26
constexpr auto CFG_NODE_ACQUISITION
Definition: base.hpp:307
constexpr auto CFG_KEY_ID
Definition: base.hpp:320
void ResetRecStatusObj(std::shared_ptr< recif::RecStatus > &rec_status_obj, const recif::RecStatusNames rec_status)
Reset the members of the Recording Status Object.
Definition: base.cpp:149
constexpr auto CFG_NODE_TASKS
Definition: base.hpp:312
DataTypes
Definition: dataType.hpp:46
constexpr auto STATE_ON_NOT_OP_NOT_READY
Definition: base.hpp:116
constexpr auto CFG_KEY_RECIPES
Definition: base.hpp:339
constexpr auto SETUP_KEY_PORT
Definition: base.hpp:375
constexpr auto PUB_STAT_NAME_STOPPED
Definition: base.hpp:413
HwStatus
HW status values.
Definition: base.hpp:195
std::vector< std::string > SplitKey(const std::string &key)
Split up a concatenated key.
Definition: base.cpp:222
constexpr auto SETUP_KEY_FILE
Definition: base.hpp:363
ExpoMode
Exposure modes.
Definition: base.hpp:299
constexpr auto SETUP_KEY_ENABLED
Definition: base.hpp:362
LogLevel LogLevelToNb(const std::string &log_level)
Definition: base.hpp:54
constexpr auto EXPO_MODE_INACTIVE
Definition: base.hpp:388
constexpr auto SETUP_KEY_TYPE
Definition: base.hpp:377
constexpr auto CFG_KEY_ALLOW_LOST_FRAMES
Definition: base.hpp:317
ExpoMode ExpoModeToNb(const std::string &expo_mode)
Convert exposure mode from number representation to string.
Definition: base.cpp:96
constexpr auto STATE_ON_OP_ACQ
Definition: base.hpp:119
constexpr auto SETUP_KEY_BIN_Y
Definition: base.hpp:360
constexpr auto FAILURE
Definition: base.hpp:209
constexpr auto CFG_KEY_PROTOCOL
Definition: base.hpp:337
constexpr auto SETUP_KEY_RATE
Definition: base.hpp:373
constexpr auto SETUP_KEY_BASENAME
Definition: base.hpp:358
constexpr auto SETUP_KEY_NB
Definition: base.hpp:372
constexpr auto CFG_KEY_MAX_RESOLUTION
Definition: base.hpp:327
constexpr auto SETUP_KEY_WIN_START_X
Definition: base.hpp:378
constexpr auto SETUP_KEY_WIN_HEIGHT
Definition: base.hpp:381
std::string StatusToStr(ccf::Status status)
Convert the status from number to string.
Definition: base.cpp:124
constexpr auto PUB_STAT_NAME_COMPLETED
Definition: base.hpp:412
constexpr auto CFG_KEY_NB_OF_SAMPLES
Definition: base.hpp:332
constexpr auto CFG_KEY_VALUE
Definition: base.hpp:347
constexpr auto CFG_KEY_INIT_SETUP
Definition: base.hpp:322
constexpr auto CFG_KEY_ADAPTER
Definition: base.hpp:314
void DecomposeSmStatus(const std::string &sm_state, std::string &sum_state, std::string &sum_substate)
Definition: base.cpp:184
constexpr auto SETUP_KEY_FRAME_RATE
Definition: base.hpp:365
constexpr auto CFG_KEY_PIPELINE
Definition: base.hpp:335
constexpr auto EXPO_MODE_FINITE
Definition: base.hpp:386
constexpr auto META_KEY_EXPO_TIME
Definition: base.hpp:101
constexpr auto SIM_TYPE_FILE_STR
Definition: base.hpp:405
constexpr auto STATE_ON_OP_ACQ_REC
Definition: base.hpp:121
constexpr auto CFG_KEY_INPUT_QUEUE_SIZE
Definition: base.hpp:323
bool ReceiveThrMsg(const std::string &receiver_thread_name, const double time_out, ccf::mptk::Message &message)
Receive a message from the given thread. Returns true if message received.
Definition: base.cpp:45
std::string LogLevelToString(const LogLevel log_level)
Definition: base.hpp:68
SimType
Simulation type.
Definition: base.hpp:398
constexpr auto SETUP_KEY_MODE
Definition: base.hpp:371
constexpr auto PUB_STAT_NAME_UNDEFINED
Definition: base.hpp:416
constexpr auto CFG_KEY_NAMES
Definition: base.hpp:331
constexpr auto CFG_NODE_PROCESSING
Definition: base.hpp:309
void CopyRecStatusObj(const std::shared_ptr< recif::RecStatus > &src_rec_status_obj, const std::shared_ptr< recif::RecStatus > &trg_rec_status_obj)
Cope the members of one Recording Status Object to another.
Definition: base.cpp:167
constexpr auto SETUP_KEY_MAX_RATE
Definition: base.hpp:367
constexpr auto META_KEY_EXPO_RATE
Definition: base.hpp:100
constexpr auto SETUP_KEY_FORMAT
Definition: base.hpp:364
constexpr auto CFG_KEY_HEIGHT
Definition: base.hpp:319
Status
General status variable.
Definition: base.hpp:201
constexpr auto CFG_KEY_SIM_ADDRESS
Definition: base.hpp:345
constexpr auto STATE_ON_NOT_OP_READY
Definition: base.hpp:117
constexpr auto STATE_ON_OP_ACQ_NOT_REC
Definition: base.hpp:120
const std::string DB_NODE_SM_STATE
Definition: base.hpp:94
constexpr auto SETUP_KEY_WIN_WIDTH
Definition: base.hpp:380
constexpr auto REC_ID_PREFIX
Definition: base.hpp:392