00001 #ifndef FEREADTAGSTHREAD_H 00002 #define FEREADTAGSTHREAD_H 00003 00004 #include <QMutex> 00005 #include <QThread> 00006 #include <QWaitCondition> 00007 #include "../../../../fedm-classlib/src/FedmIscCore.h" 00008 00009 class FEReadTagsThread : public QThread 00010 { 00011 Q_OBJECT 00012 00013 public: 00014 FEReadTagsThread(FEDM_ISCReader* reader, QObject *parent = 0); 00015 ~FEReadTagsThread(); 00016 void readTags(); 00017 void pauseThread(); 00018 bool running(); 00019 00020 signals: 00021 void onNewTag(int iStatus); 00022 void onNoTag(int iStatus); 00023 void onError(int iStatus); 00024 00025 protected: 00026 void run(); 00027 00028 private: 00029 QMutex m_mutex; 00030 QWaitCondition m_condition; 00031 bool m_bRunning; 00032 bool m_bFinish; 00033 bool m_bWait; 00034 FEDM_ISCReader* m_iscReader; 00035 }; 00036 00037 #endif