]> oss.titaniummirror.com Git - tinyos-2.x.git/blobdiff - apps/AntiTheft/Root/AntiTheftRootC.nc
The big interface switchover for Packet, Send, Receive, and AMSend.
[tinyos-2.x.git] / apps / AntiTheft / Root / AntiTheftRootC.nc
index c86b240395221cf558e2686ee5b9d1ec08f3f198..896bc812a89d332afbeda66a391cc993f026316a 100644 (file)
@@ -29,6 +29,7 @@ module AntiTheftRootC
     interface Receive as SettingsReceive;
 
     interface StdControl as CollectionControl;
+    interface StdControl as DisseminationControl;
     interface RootControl;
     interface Receive as AlertsReceive;
     interface AMSend as AlertsForward;
@@ -55,6 +56,7 @@ implementation
     if (error == SUCCESS)
       {
        call LowPowerListening.setLocalDutyCycle(200);
+       call DisseminationControl.start();
        call CollectionControl.start();
        call RootControl.setRoot();
       }
@@ -91,11 +93,12 @@ implementation
       {
        /* Copy payload (newAlert) from collection system to our serial
           message buffer (fwdAlert), then send our serial message */
-       alert_t *fwdAlert = call AlertsForward.getPayload(&fwdMsg);
-
-       *fwdAlert = *newAlert;
-       if (call AlertsForward.send(AM_BROADCAST_ADDR, &fwdMsg, sizeof *fwdAlert) == SUCCESS)
-         fwdBusy = TRUE;
+       alert_t *fwdAlert = call AlertsForward.getPayload(&fwdMsg, sizeof(alert_t));
+       if (fwdAlert != NULL) {
+         *fwdAlert = *newAlert;
+         if (call AlertsForward.send(AM_BROADCAST_ADDR, &fwdMsg, sizeof *fwdAlert) == SUCCESS)
+           fwdBusy = TRUE;
+       }
       }
     return msg;
   }