|
UniWidgets
1.0.0
|
00001 #ifndef _GUIPM_H 00002 #define _GUIPM_H 00003 // ------------------------------------------------------------------------- 00004 #include <ProxyManager.h> 00005 #include <uniwidgets/USignals.h> 00006 // ------------------------------------------------------------------------- 00007 class CheckedSignal; 00008 class ConfirmSignal; 00009 // ------------------------------------------------------------------------- 00015 class GuiPM : public ProxyManager 00016 { 00017 private: 00018 bool connected_; 00019 00020 public: 00021 GuiPM( UniSetTypes::ObjectId id, UniSetTypes::ObjectId alive_sensor_id, UniSetTypes::ObjectId confirm_sensor_id, int auto_confirm_time); 00022 virtual ~GuiPM(); 00023 00027 bool poll(); 00028 // bool is_activated() {return activated;} 00029 bool connected(); 00032 void askSensor(const UniSetTypes::ObjectId id, const UniSetTypes::ObjectId node, const UniversalIO::UIOCommand cmd) throw(); 00034 long getValue(const UniSetTypes::ObjectId id, const UniSetTypes::ObjectId node); 00036 void saveValue(const long value, const UniSetTypes::ObjectId id, const UniSetTypes::ObjectId node); 00038 void send(UniSetTypes::ObjectId name, UniSetTypes::TransportMessage& msg); 00040 UniversalIO::IOTypes getIOType(UniSetTypes::ObjectId id, UniSetTypes::ObjectId node); 00041 00042 sigc::signal<void, UniversalIO::UIOCommand> signal_ask_sensors; 00043 sigc::signal<void, UniSetTypes::SensorMessage*> signal_sensor_info; 00044 sigc::signal<void> signal_startup; 00045 sigc::signal<void> signal_connected; 00046 sigc::signal<void> signal_disconnected; 00048 CheckedSignal* signal_checked; 00049 ConfirmSignal* signal_confirm; 00051 USignals::SigController _signals; 00053 protected: 00054 void processingMessage( UniSetTypes::VoidMessage* msg ); 00055 void askSensors( UniversalIO::UIOCommand cmd ); 00056 void sysCommand( UniSetTypes::SystemMessage* sm ); 00057 void sensorInfo( UniSetTypes::SensorMessage* sm ); 00058 void timerInfo( UniSetTypes::TimerMessage* tm ); 00059 void startUp(); 00060 void watchDog(); 00061 bool connectionTimeOut(); 00063 private: 00064 bool auto_confirm(); 00065 UniSetTypes::ObjectId alive_sensor_id_; 00066 UniSetTypes::ObjectId confirm_sensor_id_; 00067 long alive_value_; 00068 00069 long timeout_; 00070 sigc::connection to_connection_; 00071 }; 00072 00073 inline bool 00074 GuiPM::connected() 00075 { 00076 return connected_; 00077 } 00078 #endif
1.7.6.1