aboutsummaryrefslogtreecommitdiff
path: root/libraries/SpacebrewYun/SpacebrewYun.h
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/SpacebrewYun/SpacebrewYun.h')
-rw-r--r--libraries/SpacebrewYun/SpacebrewYun.h29
1 files changed, 22 insertions, 7 deletions
diff --git a/libraries/SpacebrewYun/SpacebrewYun.h b/libraries/SpacebrewYun/SpacebrewYun.h
index 8fd7bd2..df608c1 100644
--- a/libraries/SpacebrewYun/SpacebrewYun.h
+++ b/libraries/SpacebrewYun/SpacebrewYun.h
@@ -11,6 +11,7 @@ enum SBmsg {
CONNECTION_START = char(28),
CONNECTION_END = char(27),
CONNECTION_ERROR = char(26),
+ MSG_CONFIRM = char(7),
MSG_START = char(29),
MSG_DIV = char(30),
MSG_END = char(31)
@@ -19,14 +20,16 @@ enum SBmsg {
struct Publisher {
char *name;
char *type;
- char *defaultValue;
- Publisher * next;
+ char *lastMsg;
+ Publisher *next;
+ int confirmed;
+ long time;
};
struct Subscriber{
char *name;
char *type;
- Subscriber * next;
+ Subscriber *next;
};
int const pidLength = 6;
@@ -46,12 +49,13 @@ class SpacebrewYun {
void monitor();
void onMessage();
+ void onConfirm();
boolean connected();
void send(const String&, const String&);
void send(const String& name, char * value) { send(name, String(value)); }
- void send(const String& name, bool value){ send(name, (value ? "true" : "false")); };
+ void send(const String& name, bool value){ send(name, (value ? String("true") : String("false"))); };
void send(const String& name, int value) { send(name, String(value)); };
void send(const String& name, long value) { send(name, String(value)); };
void send(const String& name, float value) { send(name, String(value)); };
@@ -102,8 +106,13 @@ class SpacebrewYun {
boolean read_name;
boolean read_msg;
- int sub_name_max;
- int sub_msg_max;
+ boolean read_confirm;
+ static int sub_name_max;
+ static int sub_msg_str_max;
+ static int sub_msg_int_max;
+ static int sub_msg_bool_max;
+ // int sub_name_max;
+ // int sub_msg_str_max;
Process pids;
char pid [6];
@@ -113,10 +122,16 @@ class SpacebrewYun {
void getPids();
static char * createString(int len){
- char * out = ( char * )malloc( len + 1 );
+ char * out = ( char * ) malloc ( len + 1 );
return out;
}
+ static void emptyString(char * str, int len){
+ for (int i = 0; i < len; i++) {
+ str[i] = '\0';
+ }
+ }
+
};
#endif