Newer
Older
#ifndef BUTTON_BEHAVIOUR_h
#define BUTTON_BEHAVIOUR_h
#include "Arduino.h"
#include "Behaviours.h"
class ButtonPressed : public Behaviour {
/*
* Class that defines a behaviour that publishes a
* ButtonPressed message to the input topic of the
* MQQT broker
*/
ButtonPressed(VizBlocks* node, String name = "ButtonPressed") :
Behaviour(name), _node(node){ }
char* args() {return "<String buttonId>"; };
String start(String args) {
//This is where you do your stuff for a simple behaviour
String str = "{\"id\":\"" + String(_node->getId()) + "\",\"Input\":{\"type\":\"" + String(name()) + "\",\"button\":\"" + args + "\"}}";
_node->announce(str);
return "ButtonPressed behaviour " + _name + " with (" + args + ")";
}
};
class ButtonReleased : public Behaviour {
/*
* Class that defines a behaviour that publishes a
* ButtonReleased message to the input topic of the
* MQQT broker
*/
ButtonReleased(VizBlocks* node, String name = "ButtonReleased") :
Behaviour(name), _node(node){ }
char* args() {return "<String buttonId>"; };
String start(String args) {
//This is where you do your stuff for a simple behaviour
String str = "{\"id\":\"" + String(_node->getId()) + "\",\"Input\":{\"type\":\"" + String(name()) + "\",\"button\":\"" + args + "\"}}";
_node->announce(str);
return "ButtonReleased behaviour " + _name + " with (" + args + ")";
}
};
class ButtonClicked : public Behaviour {
/*
* Class that defines a behaviour that publishes a
* ButtonClicked message to the input topic of the
* MQQT broker
*/
ButtonClicked(VizBlocks* node, String name = "ButtonClicked") :
Behaviour(name), _node(node){ }
char* args() {return "<String buttonId>"; };
String start(String args) {
//This is where you do your stuff for a simple behaviour
String str = "{\"id\":\"" + String(_node->getId()) + "\",\"Input\":{\"type\":\"" + String(name()) + "\",\"button\":\"" + args + "\"}}";
_node->announce(str);
return "ButtonClicked behaviour " + _name + " with (" + args + ")";
}
};
class ButtonHeld : public Behaviour {
/*
* Class that defines a behaviour that publishes a
* ButtonLongPressed message to the input topic of the
* MQQT broker
*/
ButtonHeld(VizBlocks* node, String name = "ButtonHeld") :
Behaviour(name), _node(node){ }
char* args() {return "<String buttonId>"; };
String start(String args) {
//This is where you do your stuff for a simple behaviour
String str = "{\"id\":\"" + String(_node->getId()) + "\",\"Input\":{\"type\":\"" + String(name()) + "\",\"button\":\"" + args + "\"}}";
_node->announce(str);
return "ButtonHeld behaviour " + _name + " with (" + args + ")";
class ButtonTick : public Behaviour {
/*
* Class that defines a behaviour that publishes a
* ButtonRepeatPressed message to the input topic of the
* MQQT broker
*/
ButtonTick(VizBlocks* node, String name = "ButtonTick") :
Behaviour(name), _node(node){ }
char* args() {return "<String buttonId>"; };
String start(String args) {
//This is where you do your stuff for a simple behaviour
String str = "{\"id\":\"" + String(_node->getId()) + "\",\"Input\":{\"type\":\"" + String(name()) + "\",\"button\":\"" + args + "\"}}";
_node->announce(str);
return "ButtonTick behaviour " + _name + " with (" + args + ")";