qscan345controller.h

Go to the documentation of this file.
00001 #ifndef QSCAN345CONTROLLER_H
00002 #define QSCAN345CONTROLLER_H
00003 
00004 #include "command.h"
00005 #include <QList>
00006 #include <QMutex>
00007 
00008 class QTimer;
00009 class QScan345MainWindow;
00010 class QScan345Server;
00011 
00012 class QScan345Controller : public Command
00013 {
00014   Q_OBJECT;
00015 
00016  public:
00017   QScan345Controller(QScan345MainWindow *win, QScan345Server *srv, QObject *parent=0);
00018   typedef Command inherited;
00019   ~QScan345Controller();
00020 
00021   void updateScannerMenu();
00022 
00023  public slots:
00024   void initialize();
00025   void erase();
00026   void scan();
00027 
00028   void changeMode2300();
00029   void changeMode2000();
00030   void changeMode1600();
00031   void changeMode1200();
00032   void changeMode3450();
00033   void changeMode3000();
00034   void changeMode2400();
00035   void changeMode1800();
00036 
00037   void restart_scanner();
00038   void change_scanner_number(int n);
00039 
00040   int poll_status();
00041 
00042   void setWorkingDirectory(QString d);
00043   void setFileRoot(QString root);
00044   void execute_command(QString cmd);
00045 
00046   void log_spy_message(QString msg);
00047 
00048  signals:
00049   void scan_completed();
00050   void scanner_number_changed(int);
00051   void scan_mode_changed(int);
00052 
00053  private:
00054   void changeMode(int n);
00055   void updateActions();
00056   void check_scanner_number();
00057 
00058  private:
00059   QMutex              m_Mutex;
00060   QTimer             *m_Timer;
00061   QScan345MainWindow *m_MainWindow;
00062   QScan345Server     *m_Server;
00063   QList<int>          m_SerialNumbers;
00064 };
00065 
00066 #endif
00067