|
UniWidgets
1.0.0
|
00001 #ifndef __USENSOR_H_ 00002 #define __USENSOR_H_ 00003 // ------------------------------------------------------------------------- 00004 #include <uniwidgets/GuiPM.h> 00005 #include <sigc++/sigc++.h> 00006 #include <UniSetTypes.h> 00007 // ------------------------------------------------------------------------- 00015 class USensor 00016 { 00017 public: 00018 /* 00019 * TODO: write documentation 00020 */ 00021 USensor(UniSetTypes::ObjectId id, UniSetTypes::ObjectId node, GuiPM* gpm); 00022 00023 /* 00024 * TODO: write documentation 00025 */ 00026 bool connected() const; 00027 00028 /* 00029 * TODO: write documentation 00030 */ 00031 void connect(); 00032 00033 /* 00034 * TODO: write documentation 00035 */ 00036 void disconnect(); 00037 00038 /* 00039 * TODO: write documentation 00040 */ 00041 long get_value() const; 00042 00043 /* 00044 * TODO: write documentation 00045 */ 00046 //float get_value_with_precision() const; 00047 00048 /* 00049 * TODO: write documentation 00050 */ 00051 void save_value(long value) const; 00052 00053 /* 00054 * TODO: write documentation 00055 */ 00056 //void save_value_with_precision(float value) const; 00057 00058 /* 00059 * TODO: write documentation 00060 */ 00061 void set_id(UniSetTypes::ObjectId id); 00062 00063 /* 00064 * TODO: write documentation 00065 */ 00066 void set_id(UniSetTypes::ObjectId id, UniSetTypes::ObjectId node); 00067 00068 /* 00069 * TODO: write documentation 00070 */ 00071 void set_node(UniSetTypes::ObjectId node); 00072 00073 /* 00074 * TODO: write documentation 00075 */ 00076 UniSetTypes::ObjectId get_id() const; 00077 00078 /* 00079 * TODO: write documentation 00080 */ 00081 UniSetTypes::ObjectId get_node() const; 00082 00083 /* 00084 * TODO: write documentation 00085 */ 00086 sigc::signal<void, const USensor&>& signal_value_changed(); 00087 00088 protected: 00089 void on_value_changed(UniSetTypes::ObjectId id, UniSetTypes::ObjectId node, long new_value); 00090 00091 private: 00092 UniSetTypes::ObjectId id_; 00093 UniSetTypes::ObjectId node_; 00094 GuiPM* gpm_; 00095 sigc::signal<void, const USensor&> signal_value_changed_; 00096 USignals::VConn connection_; 00097 long value_; 00098 bool connected_; 00099 }; 00100 // ------------------------------------------------------------------------- 00101 inline UniSetTypes::ObjectId USensor::get_id() const 00102 { 00103 return id_; 00104 } 00105 // ------------------------------------------------------------------------- 00106 inline UniSetTypes::ObjectId USensor::get_node() const 00107 { 00108 return node_; 00109 } 00110 // ------------------------------------------------------------------------- 00111 inline sigc::signal<void, const USensor&>& USensor::signal_value_changed() 00112 { 00113 return signal_value_changed_; 00114 } 00115 // ------------------------------------------------------------------------- 00116 #endif
1.7.6.1