]> git.tdb.fi Git - r2c2.git/blob - source/libmarklin/sensor.cpp
f6913ba1b05a3173069a4cc63b5ba7f94537d097
[r2c2.git] / source / libmarklin / sensor.cpp
1 #include "control.h"
2 #include "sensor.h"
3
4 namespace Marklin {
5
6 Sensor::Sensor(Control &c, unsigned a):
7         control(c),
8         addr(a),
9         state(false)
10 {
11         control.add_sensor(this);
12         control.signal_sensor_event.connect(sigc::mem_fun(this, &Sensor::sensor_event));
13 }
14
15 void Sensor::sensor_event(unsigned a, bool s)
16 {
17         if(a==addr && s!=state)
18         {
19                 state=s;
20                 signal_state_changed.emit(state);
21         }
22 }
23
24 } // namespace Marklin