diff --git a/src/lib/utils/appl.h b/src/lib/utils/appl.h index 35d9657d..80894c9f 100644 --- a/src/lib/utils/appl.h +++ b/src/lib/utils/appl.h @@ -76,7 +76,7 @@ class Appl public: /** - * @brief create an Appl instance and return the reference. + * @brief create an appl instance and return the reference. * @param command is true if an command is needed. * @return the reference to instance. */ diff --git a/src/lib/utils/thread.cpp b/src/lib/utils/thread.cpp index fa4ca38f..4ea84136 100644 --- a/src/lib/utils/thread.cpp +++ b/src/lib/utils/thread.cpp @@ -23,9 +23,13 @@ #include "thread.h" +/** + * @brief static function which will be called on thread startup. + * @return void pointer. + */ static void* runThread(void* arg) { - return ((Thread *)arg)->run(); + return ((Thread*)arg)->run(); } Thread::~Thread() diff --git a/src/lib/utils/thread.h b/src/lib/utils/thread.h index 03ecfd0d..4d4e15dc 100644 --- a/src/lib/utils/thread.h +++ b/src/lib/utils/thread.h @@ -22,23 +22,60 @@ #include +/** + * @brief wrapper class for pthread. + */ class Thread { public: + /** + * @brief constructor. + */ Thread() : m_threadid(0), m_running(false), m_detached(false) {} + + /** + * @brief virtual destructor. + */ virtual ~Thread(); + /** + * @brief create the thread and set name for process list. + * @param name the thread name which show in process list. + * @return value of thread creating. + */ int start(const char* name); + + /** + * @brief join the thread. + * @return value of thread joining. + */ int join(); + + /** + * @brief detach the thread. + * @return value of thread detaching. + */ int detach(); + + /** + * @brief return the thread id. + * @return own thread id. + */ pthread_t self() {return m_threadid; } + /** + * @brief virtul function which must be implented in derived class. + * @return void pointer. + */ virtual void* run() = 0; private: + /** own thread id */ pthread_t m_threadid; + /** true if thread is running */ bool m_running; + /** true if thread is detached */ bool m_detached; };