Convert actions to event loops
The logic gets significantly simpler due to Watchers. But we also get
to port all the users over as well.
Change-Id: Ib4e75951e65f7431acc6c1548b7f1d20da3da295
diff --git a/y2016/dashboard/dashboard.h b/y2016/dashboard/dashboard.h
index d9b7c11..8c64348 100644
--- a/y2016/dashboard/dashboard.h
+++ b/y2016/dashboard/dashboard.h
@@ -1,3 +1,6 @@
+#ifndef Y2016_DASHBOARD_DASHBOARD_H_
+#define Y2016_DASHBOARD_DASHBOARD_H_
+
#include <iostream>
#include <memory>
#include <sstream>
@@ -11,10 +14,10 @@
#include "seasocks/StringUtil.h"
#include "seasocks/WebSocket.h"
-#include "aos/init.h"
-#include "aos/time/time.h"
-#include "aos/util/phased_loop.h"
+#include "aos/events/event-loop.h"
#include "aos/mutex/mutex.h"
+#include "aos/time/time.h"
+#include "y2016/vision/vision.q.h"
namespace y2016 {
namespace dashboard {
@@ -31,7 +34,7 @@
class DataCollector {
public:
- DataCollector();
+ DataCollector(::aos::EventLoop *event_loop);
void RunIteration();
// Store a datapoint. In this case, we are reading data points to determine
@@ -60,6 +63,8 @@
::std::vector<ItemDatapoint> datapoints;
};
+ ::aos::Fetcher<::y2016::vision::VisionStatus> vision_status_fetcher_;
+
// Storage vector that is written and overwritten with data in a FIFO fashion.
::std::vector<SampleItem> sample_items_;
@@ -74,7 +79,7 @@
class SocketHandler : public seasocks::WebSocket::Handler {
public:
- SocketHandler();
+ SocketHandler(::aos::EventLoop *event_loop);
void onConnect(seasocks::WebSocket* connection) override;
void onData(seasocks::WebSocket* connection, const char* data) override;
void onDisconnect(seasocks::WebSocket* connection) override;
@@ -94,3 +99,5 @@
} // namespace dashboard
} // namespace y2016
+
+#endif // Y2016_DASHBOARD_DASHBOARD_H_