]> git.vomp.tv Git - jsonserver.git/commitdiff
Add gettime and diskstat calls
authorChris Tallon <chris@vomp.tv>
Sat, 25 May 2013 19:26:39 +0000 (20:26 +0100)
committerChris Tallon <chris@vomp.tv>
Sat, 25 May 2013 19:26:39 +0000 (20:26 +0100)
handler.c
handler.h

index 4081c5ff6c3083bda5acfa2b34c2f615187847f3..7be3028b9f6ac3479f86ddc0f7a7266eca19bcb8 100644 (file)
--- a/handler.c
+++ b/handler.c
@@ -2,6 +2,7 @@
 
 #include <string.h>
 #include <stdlib.h>
+#include <sys/time.h>
 #include <jsoncpp/json/json.h>
 #include <string>
 
@@ -67,7 +68,9 @@ int jsonserver_request_handler(struct mg_connection *conn)
   Json::Value js;
   bool success = false;
 
-  if      (!strcmp(wvrequest, "reclist")) success = jsonserver_reclist(js);
+  if      (!strcmp(wvrequest, "gettime")) success = jsonserver_gettime(js);
+  else if (!strcmp(wvrequest, "diskstats")) success = jsonserver_diskstats(js);
+  else if (!strcmp(wvrequest, "reclist")) success = jsonserver_reclist(js);
   else if (!strcmp(wvrequest, "recinfo")) success = jsonserver_recinfo(js, postData);
   else if (!strcmp(wvrequest, "recdel")) success = jsonserver_recdel(js, postData);
   else if (!strcmp(wvrequest, "recmove")) success = jsonserver_recmove(js, postData);
@@ -125,19 +128,42 @@ int jsonserver_request_handler(struct mg_connection *conn)
   
 }
 
-bool jsonserver_reclist(Json::Value& js)
+bool jsonserver_gettime(Json::Value& js)
 {
   Log* log = Log::getInstance();
-  log->log("JSONServer", Log::DEBUG, "reclist");
+  log->log("JSONServer", Log::DEBUG, "gettime");
+
+  struct timeval tv;
+  gettimeofday(&tv, NULL);
+  
+  js["Time"] = (Json::UInt64)tv.tv_sec;
+  js["MTime"] = (Json::UInt)(tv.tv_usec/1000);
+  js["Result"] = true;
+  return true;
+}
 
+bool jsonserver_diskstats(Json::Value& js)
+{
+  Log* log = Log::getInstance();
+  log->log("JSONServer", Log::DEBUG, "diskstats");
+  
   int FreeMB;
-  int Percent = VideoDiskSpace(&FreeMB);
-  int Total = (FreeMB / (100 - Percent)) * 100;
-        
-  js["MBFree"] = FreeMB;
+  int UsedMB;
+  int Percent = VideoDiskSpace(&FreeMB, &UsedMB);
+  
+  js["FreeMiB"] = FreeMB;
+  js["UsedMiB"] = UsedMB;
   js["Percent"] = Percent;
-  js["Total"] = Total;
   
+  js["Result"] = true;
+  return true;
+}
+
+bool jsonserver_reclist(Json::Value& js)
+{
+  Log* log = Log::getInstance();
+  log->log("JSONServer", Log::DEBUG, "reclist");
+
   Json::Value jsrecordings;
   cRecordings Recordings;
   Recordings.Load();
index c54d84ce5309675b085973426ecbdf0db07b4e12..a208a3be45f6fa7a2ebf3aa1481b32237ddf1a75 100644 (file)
--- a/handler.h
+++ b/handler.h
@@ -6,6 +6,8 @@
 
 int jsonserver_request_handler(struct mg_connection* conn);
 
+bool jsonserver_gettime(Json::Value& js);
+bool jsonserver_diskstats(Json::Value& js);
 bool jsonserver_reclist(Json::Value& js);
 bool jsonserver_recinfo(Json::Value& js, const char* postData);
 bool jsonserver_recdel(Json::Value& js, const char* postData);