PeriodicThread.h
Go to the documentation of this file.
00001 // this is for emacs file handling -*- mode: c++; indent-tabs-mode: nil -*-
00002 //----------------------------------------------------------------------
00016 //----------------------------------------------------------------------
00017 #ifndef ICL_CORE_THREAD_PERIODIC_THREAD_H_INCLUDED
00018 #define ICL_CORE_THREAD_PERIODIC_THREAD_H_INCLUDED
00019 
00020 #include <icl_core/BaseTypes.h>
00021 #include <icl_core/Noncopyable.h>
00022 #include <icl_core/TimeSpan.h>
00023 #include <icl_core/os_thread.h>
00024 
00025 #include "icl_core_thread/ImportExport.h"
00026 #include "icl_core_thread/Thread.h"
00027 
00028 #ifdef _IC_BUILDER_DEPRECATED_STYLE_
00029 # include "icl_core/Deprecate.h"
00030 #endif
00031 
00032 namespace icl_core {
00033 namespace thread {
00034 
00035 class PeriodicThreadImpl;
00036 
00042 class ICL_CORE_THREAD_IMPORT_EXPORT PeriodicThread : public Thread,
00043                                                      protected virtual icl_core::Noncopyable
00044 {
00045 public:
00053   PeriodicThread(const icl_core::String& description, const icl_core::TimeSpan& period,
00054                  ThreadPriority priority = 0);
00055 
00058   virtual ~PeriodicThread();
00059 
00062   icl_core::TimeSpan period() const;
00063 
00069   bool setPeriod(const icl_core::TimeSpan& period);
00070 
00072 #ifdef _IC_BUILDER_DEPRECATED_STYLE_
00073 
00077   ICL_CORE_VC_DEPRECATE_STYLE icl_core::TimeSpan Period() const
00078     ICL_CORE_GCC_DEPRECATE_STYLE;
00079 
00083   ICL_CORE_VC_DEPRECATE_STYLE bool SetPeriod(const icl_core::TimeSpan& period)
00084     ICL_CORE_GCC_DEPRECATE_STYLE;
00085 
00086 #endif
00087 
00088 
00089 protected:
00092   void waitPeriod();
00093 
00095 #ifdef _IC_BUILDER_DEPRECATED_STYLE_
00096 
00100   ICL_CORE_VC_DEPRECATE_STYLE void WaitPeriod() ICL_CORE_GCC_DEPRECATE_STYLE;
00101 
00102 #endif
00103 
00104 
00105 private:
00106   virtual void makePeriodic();
00107 
00108   PeriodicThreadImpl *m_impl;
00109 };
00110 
00111 }
00112 }
00113 
00114 #endif


schunk_svh_driver
Author(s): Georg Heppner
autogenerated on Fri Aug 28 2015 12:59:19