# *Prop* class reference See also: * ArduinoProps sketch * PropData class reference * PropAction class reference *Prop* (see `Prop.h`) is an interface (base class) implemented by 3 classes: * ***BridgeProp*** for Yun board and Yun shield * ***EthernetProp*** for Ethernet shield * ***WifiProp*** for WiFiNINA boards ## Constructors * `BridgeProp(const char*, const char*, const char*, const char*, const int)` * `EthernetProp(const char*, const char*, const char*, const char*, const int)` * `WifiProp(const char*, const char*, const char*, const char*, const int)` Each constructor implement the ***Prop*** interface: * `Props(const char* client_id, const char* in_box, const char* out_box, const char* broker, const int port)` ```csharp BridgeProp prop(u8"Arduino Blink", // as MQTT client id, should be unique per client for given broker u8"Room/My room/Props/Arduino Blink/inbox", u8"Room/My room/Props/Arduino Blink/outbox", "192.168.1.53", // your MQTT server IP address 1883); // your MQTT server port; ``` ## Interface The *Prop* class interface is consistent with the Prop class of the PyProps library for Raspberry boards. * `virtual void begin(void(*)(String) = NULL) = 0` * `void addData(PropData*)` * `void loop()` * `void resetIntervals(const int changes, const int silent)` * `void resetMcu()` * `void sendAllData()` * `void sendDataChanges()` * `void sendData(String variables)` * `void sendDone(String action)` * `void sendMesg(String message)` * `void sendMesg(String topic, char* message)` * `void sendOmit(String action)` * `void sendOver(String challenge)` * `void sendProg(String program)` * `void sendRequ(String request)` * `void sendRequ(String topic, char*)` The pure virtual `begin()` sets the network client. The `addData()` registers a PropData instance to be treated by `sendAllData()` and `sendDataChanges()` methods. The `loop()` is the method to be called in the sketch *loop()*. The `resetMcu()` restarts the sketch (like the reset button). The `sendAllData()` sends the `DATA` message for all registered data. The `sendDataChanges()` sends the `DATA` message for all registered data that value has changed since last call. For `send----()` methods see *Application protocol for escape room 2.0 prop* ## Author **Marie FAURE** (Oct 18th, 2019) * company: FAURE SYSTEMS SAS * mail: *dev at faure dot systems* * github: fauresystems * web: Faure Systems