PeriodicThread.h
Go to the documentation of this file.
1 // this is for emacs file handling -*- mode: c++; indent-tabs-mode: nil -*-
2 
3 // -- BEGIN LICENSE BLOCK ----------------------------------------------
4 // This file is part of FZIs ic_workspace.
5 //
6 // This program is free software licensed under the LGPL
7 // (GNU LESSER GENERAL PUBLIC LICENSE Version 3).
8 // You can find a copy of this license in LICENSE folder in the top
9 // directory of the source code.
10 //
11 // © Copyright 2016 FZI Forschungszentrum Informatik, Karlsruhe, Germany
12 //
13 // -- END LICENSE BLOCK ------------------------------------------------
14 
15 //----------------------------------------------------------------------
29 //----------------------------------------------------------------------
30 #ifndef ICL_CORE_THREAD_PERIODIC_THREAD_H_INCLUDED
31 #define ICL_CORE_THREAD_PERIODIC_THREAD_H_INCLUDED
32 
33 #include <icl_core/BaseTypes.h>
34 #include <icl_core/Noncopyable.h>
35 #include <icl_core/TimeSpan.h>
36 #include <icl_core/os_thread.h>
37 
39 #include "icl_core_thread/Thread.h"
40 
41 #ifdef _IC_BUILDER_DEPRECATED_STYLE_
42 # include "icl_core/Deprecate.h"
43 #endif
44 
45 namespace icl_core {
46 namespace thread {
47 
48 class PeriodicThreadImpl;
49 
56  protected virtual icl_core::Noncopyable
57 {
58 public:
66  PeriodicThread(const icl_core::String& description, const icl_core::TimeSpan& period,
67  ThreadPriority priority = 0);
68 
71  virtual ~PeriodicThread();
72 
75  icl_core::TimeSpan period() const;
76 
82  bool setPeriod(const icl_core::TimeSpan& period);
83 
85 #ifdef _IC_BUILDER_DEPRECATED_STYLE_
86 
92 
96  ICL_CORE_VC_DEPRECATE_STYLE bool SetPeriod(const icl_core::TimeSpan& period)
98 
99 #endif
100 
102 protected:
105  void waitPeriod();
106 
108 #ifdef _IC_BUILDER_DEPRECATED_STYLE_
109 
114 
115 #endif
116 
118 private:
119  virtual void makePeriodic();
120 
122 };
123 
124 }
125 }
126 
127 #endif
#define ICL_CORE_VC_DEPRECATE_STYLE
Definition: Deprecate.h:53
Contains macros to deprecate classes, types, functions and variables.
Contains import/export definitions for the Win32 plattform.
Contains global thread related functions, encapsulated into the icl_core::os namespace.
#define ICL_CORE_THREAD_IMPORT_EXPORT
Repesents absolute times.
Definition: TimeSpan.h:46
std::string String
Definition: BaseTypes.h:43
Contains Interface base classes and base types.
Contains icl_core::thread::Thread.
Contains icl_core::Noncopyable.
int32_t ThreadPriority
Definition: os_thread.h:50
#define ICL_CORE_GCC_DEPRECATE_STYLE
Definition: Deprecate.h:54


fzi_icl_core
Author(s):
autogenerated on Mon Jun 10 2019 13:17:58