From 5c6af87f8141b599873807c1b70b8e69e3365b62 Mon Sep 17 00:00:00 2001 From: Chris Tallon Date: Sat, 25 May 2013 20:26:39 +0100 Subject: [PATCH] Add gettime and diskstat calls --- handler.c | 42 ++++++++++++++++++++++++++++++++++-------- handler.h | 2 ++ 2 files changed, 36 insertions(+), 8 deletions(-) diff --git a/handler.c b/handler.c index 4081c5f..7be3028 100644 --- a/handler.c +++ b/handler.c @@ -2,6 +2,7 @@ #include #include +#include #include #include @@ -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(); diff --git a/handler.h b/handler.h index c54d84c..a208a3b 100644 --- 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); -- 2.39.2