00001 #ifndef FCAM_DUMMY_DAEMON_H 00002 #define FCAM_DUMMY_DAEMON_H 00003 00004 #include <pthread.h> 00005 00006 #include <FCam/TSQueue.h> 00007 #include <FCam/Dummy/Sensor.h> 00008 00009 namespace FCam { namespace Dummy { 00010 00011 void *daemon_launch_thread_(void *arg); 00012 00013 class Daemon { 00014 public: 00015 TSQueue<_Frame *> requestQueue; 00016 TSQueue<_Frame *> frameQueue; 00017 00018 Daemon(Sensor *sensor); 00019 ~Daemon(); 00020 00021 void launchThreads(); 00022 private: 00023 Sensor *sensor; 00024 00025 bool stop; 00026 00027 bool running; 00028 void run(); 00029 00030 pthread_t simThread; 00031 00032 friend void *daemon_launch_thread_(void *arg); 00033 }; 00034 00035 }} 00036 #endif