OpenDaVINCI  4.16.0
AbstractCIDModule.h
Go to the documentation of this file.
1 
20 #ifndef OPENDAVINCI_CORE_BASE_MODULE_ABSTRACTCIDMODULE_H_
21 #define OPENDAVINCI_CORE_BASE_MODULE_ABSTRACTCIDMODULE_H_
22 
23 #include <string>
24 
29 
30 namespace odcore {
31  namespace base {
32  namespace module {
33 
34  using namespace std;
35 
43  protected:
51  AbstractCIDModule(const int32_t &argc, char **argv) throw (exceptions::InvalidArgumentException);
52 
53  private:
60 
66  AbstractCIDModule& operator=(const AbstractCIDModule&);
67 
68  public:
69  virtual ~AbstractCIDModule();
70 
71  virtual float getFrequency() const;
72 
79  uint32_t getIdentifier() const;
80 
85  const string getMultiCastGroup() const;
86 
92  uint32_t getCID() const;
93 
99  static bool isVerbose();
100 
106  static int32_t getVerbosity();
107 
113  inline bool isProfiling() const {
114  return m_profiling;
115  }
116 
122  inline bool isRealtime() const {
123  return m_realtime;
124  }
125 
131  uint32_t getRealtimePriority() const;
132 
133  virtual void waitForNextFullSecond(const uint32_t &secondsIncrement);
134 
135  private:
136  static int32_t m_verbose;
137 
138  float m_frequency;
139  uint32_t m_identifier;
140  string m_multicastGroup;
141  uint32_t m_CID;
142  bool m_profiling;
143  bool m_realtime;
144  uint32_t m_realtimePriority;
145 
153  void parseCommandLine(const int32_t &argc, char **argv) throw (exceptions::InvalidArgumentException);
154  };
155 
156  }
157  }
158 } // odcore::base::module
159 
160 #endif /*OPENDAVINCI_CORE_BASE_MODULE_ABSTRACTCIDMODULE_H_*/
bool isProfiling() const
Definition: AbstractCIDModule.h:113
Definition: Periodic.h:33
bool isRealtime() const
Definition: AbstractCIDModule.h:122
#define OPENDAVINCI_API
Definition: opendavinci.h:67
Definition: AbstractCIDModule.h:42
Definition: InterruptibleModule.h:40