USensor.h

00001 #ifndef __USENSOR_H_
00002 #define __USENSOR_H_
00003 // -------------------------------------------------------------------------
00004 #include <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

Документация по UniWidgets. Последние изменения: Fri Oct 10 09:57:50 2014. Создано системой  doxygen 1.5.9