00001 #ifndef _QCamClient_hpp_ 00002 #define _QCamClient_hpp_ 00003 00004 #include <qobject.h> 00005 00006 class QCam; 00007 00014 class QCamClient : public QObject { 00015 Q_OBJECT 00016 public: 00017 QCamClient(); 00018 QCamClient(QCam & cam); 00019 virtual ~QCamClient() {}; 00021 void connectCam(QCam & cam); 00023 void disconnectCam(); 00025 void pause(); 00027 void resume(); 00029 bool isConnected() const { return cam_ != NULL; } 00032 bool isActive() const { return isConnected() && !paused_;} 00035 QCam & cam() const {return *cam_;} 00036 00039 QWidget * buildGUI(QWidget *parent); 00040 00042 virtual const QString & label() const { static QString aLabel="A Camera Client"; return aLabel;} 00043 public slots: 00045 void disable(bool active); 00046 protected: 00048 virtual void camDisconnected(){}; 00050 virtual void camConnected(){}; 00051 protected slots: 00055 virtual void newFrame()=0; 00056 private: 00057 QCam * cam_; 00058 bool paused_; 00059 }; 00060 #endif
1.5.1