00001 #ifndef ISOHOSTSAMPLEDLG_H 00002 #define ISOHOSTSAMPLEDLG_H 00003 00004 #include <QtGui> 00005 #include <pthread.h> 00006 #include "ui_ISOHostSampleDlg.h" 00007 #include "FEUITable.h" 00008 #include "FEUISimpleHexTable.h" 00009 #include "FEDetectReaderDlg.h" 00010 #include "FEReadTagsThread.h" 00011 00012 #include "../../../../fedm-classlib/src/FedmIscCore.h" 00013 00014 00015 class QMenu; 00016 class QSignalMapper; 00017 00018 class ISOHostSampleDlg : public QMainWindow 00019 { 00020 Q_OBJECT 00021 QSignalMapper *mapper; 00022 public: 00023 ISOHostSampleDlg(); 00024 ~ISOHostSampleDlg(); 00025 00026 void GetISOMfrCode(unsigned char ucMfr, char* sMfr); 00027 /* The static callback helper function below must know of the actual instance 00028 to trigger onProtocolEvent(). setGetClassInstance() does the trick to save 00029 the pointer to the current instance which we need by the static callback function 00030 protCallBackHelper */ 00031 static ISOHostSampleDlg* setGetClassInstance(ISOHostSampleDlg* classInstance); 00032 /* This static helper function is called by the FEISC_PRT_EVENT event. 00033 It triggers the onProtocolEvent signal which can then be used to update the ui. */ 00034 static void protCallBackHelper(int iMsg,int iLen); 00035 static void disconnectUSBEventHelper(int i, unsigned int k); 00036 signals: 00037 void onProtocolEvent(int iMsg,int iLen); 00038 void onUSBDisconnect(int i, unsigned int k); 00039 00040 public slots: 00041 // signals triggered by thread 00042 void displayProtocol(int iMsg,int iLen); 00043 void disconnectUSBEvent(int i, unsigned int k); 00044 void displayNewTag(); 00045 void displayError(int); 00046 void displayNoTag(); 00047 00048 void startButtonClicked(); 00049 void readTagButtonClicked(); 00050 void writeTagButtonClicked(); 00051 void clearTagList(); 00052 void initReader(); 00053 void showAbout(); 00054 00055 private: 00056 Ui::ISOHostSampleDlg ui; 00057 void setupMenuBar(); 00058 FEDetectReaderDlg detectReaderDlg; 00059 FEUITable* tagTable; 00060 FEUISimpleHexTable* hexTable; 00061 FEReadTagsThread *m_readTagsThread; 00062 FEDM_ISCReaderModule* m_iscReader; 00063 FEDM_TASK_INIT m_taskInit; 00064 00065 protected: 00066 void resizeEvent(QResizeEvent *event); 00067 }; 00068 00069 #endif