]> gitweb.ps.run Git - autorec/blobdiff - src/ws.h
Icons
[autorec] / src / ws.h
index ecc88b3b042c4db79be2d32143e852980ab49fe7..058f69b707f776d84e95cdaa11c2128697909f1b 100644 (file)
--- a/src/ws.h
+++ b/src/ws.h
@@ -4,6 +4,7 @@
 using json = nlohmann::json;\r
 \r
 #include <string>\r
 using json = nlohmann::json;\r
 \r
 #include <string>\r
+#include <functional>\r
 \r
 namespace ws\r
 {\r
 \r
 namespace ws\r
 {\r
@@ -12,10 +13,14 @@ namespace ws
 \r
   bool done = false;\r
 \r
 \r
   bool done = false;\r
 \r
+  std::function<void()> onConnect;\r
+\r
   static void cb(struct mg_connection *c, int ev, void *ev_data, void *fn_data) {\r
     if (ev == MG_EV_WS_OPEN) {\r
   static void cb(struct mg_connection *c, int ev, void *ev_data, void *fn_data) {\r
     if (ev == MG_EV_WS_OPEN) {\r
+      puts("Open");\r
     } else if (ev == MG_EV_WS_MSG) {\r
       struct mg_ws_message *wm = (struct mg_ws_message *) ev_data;\r
     } else if (ev == MG_EV_WS_MSG) {\r
       struct mg_ws_message *wm = (struct mg_ws_message *) ev_data;\r
+      printf("Msg: %.*s\n", (int)wm->data.len, wm->data.ptr);\r
       std::string jsonStr(wm->data.ptr, wm->data.len);\r
       auto msg = json::parse(jsonStr);\r
       int op = msg["op"].get<int>();\r
       std::string jsonStr(wm->data.ptr, wm->data.len);\r
       auto msg = json::parse(jsonStr);\r
       int op = msg["op"].get<int>();\r
@@ -32,16 +37,18 @@ namespace ws
       }\r
       else if (op == 2)\r
       {\r
       }\r
       else if (op == 2)\r
       {\r
-        MessageBoxA(NULL, "hura", "connected", MB_OK);\r
+        puts("Connected");\r
+        if (onConnect)\r
+          onConnect();\r
       }\r
     }\r
 \r
     if (ev == MG_EV_ERROR) {\r
       }\r
     }\r
 \r
     if (ev == MG_EV_ERROR) {\r
-      MessageBoxA(NULL, "", "Error", MB_OK);\r
+      puts("Error");\r
       done = true;\r
     }\r
     if (ev == MG_EV_CLOSE) {\r
       done = true;\r
     }\r
     if (ev == MG_EV_CLOSE) {\r
-      MessageBoxA(NULL, "", "Close", MB_OK);\r
+      puts("Close");\r
       done = true;\r
     }\r
   }\r
       done = true;\r
     }\r
   }\r