shares are updated now and visible
[mTask.git] / client / sds.c
index c5f69b6..66bcb16 100644 (file)
@@ -32,10 +32,25 @@ void sds_register(void)
        //Read identifier
        sdss[cs].id = read16();
        //Read value
+       sdss[cs].type = read_byte();
        sdss[cs].value = read16();
 
        debug("Received sds %d: %d", sdss[cs].id, sdss[cs].value);
        sdss[cs].used = true;
+
+       write_byte('s');
+       write16(sdss[cs].id);
+       write_byte('\n');
+}
+
+void sds_delete(void)
+{
+       uint8_t cs;
+       cs = read16();
+       sdss[cs].used = false;
+       write_byte('a');
+       write16(sdss[cs].id);
+       write_byte('\n');
 }
 
 bool sds_update(void)
@@ -52,6 +67,9 @@ bool sds_update(void)
                        sdss[cs].value = read16();
                        debug("Received sds update %d: %d",
                              sdss[cs].id, sdss[cs].value);
+                       write_byte('u');
+                       write16(sdss[cs].id);
+                       write_byte('\n');
                        return true;
                }
        }
@@ -64,8 +82,9 @@ void sds_publish(int id)
        for(cs = 0; cs<MAXSDSS; cs++){
                if(sdss[cs].used && sdss[cs].id == id){
                        debug("Publish %d=%d", sdss[cs].id, sdss[cs].value);
-                       write_byte('u');
+                       write_byte('p');
                        write16(sdss[cs].id);
+                       write_byte(sdss[cs].type);
                        write16(sdss[cs].value);
                        write_byte('\n');
                        return;