From 7ca97662347f03dabb81c707539a0ca2bd60c2a9 Mon Sep 17 00:00:00 2001 From: Ken Moore Date: Thu, 19 Jan 2017 08:49:07 -0500 Subject: [PATCH] API CHANGE (new action) sysadm/moused, "action" = "set_device_inactive" : Turn off a mouse device REQUIRED ARGUMENTS: "device":"" -------------- REST Request (example): ------------------------------- PUT /sysadm/moused { "device" : "ums0", "action" : "set_device_inactive" } WebSocket Request: ------------------------------- { "namespace" : "sysadm", "args" : { "action" : "set_device_inactive", "device" : "ums0" }, "name" : "moused", "id" : "fooid" } Response: ------------------------------- { "args": { "set_device_inactive": { "stopped": "ums0" } }, "id": "fooid", "name": "response", "namespace": "sysadm" } --- src/server/WebBackend.cpp | 4 ++++ src/server/library/sysadm-moused.cpp | 2 ++ 2 files changed, 6 insertions(+) diff --git a/src/server/WebBackend.cpp b/src/server/WebBackend.cpp index 49ed714..99aeaca 100644 --- a/src/server/WebBackend.cpp +++ b/src/server/WebBackend.cpp @@ -1233,6 +1233,10 @@ RestOutputStruct::ExitCode WebSocket::EvaluateSysadmMousedRequest(const QJsonVal outobj = sysadm::moused::readOptions(in_args.toObject()); }else if(action == "set_device_options"){ outobj = sysadm::moused::setOptions(in_args.toObject()); + }else if(action == "set_device_active"){ + //outobj = sysadm::moused::enableDevice(in_args.toObject()); + }else if(action == "set_device_inactive"){ + outobj = sysadm::moused::disableDevice(in_args.toObject()); } //check return structure for validity diff --git a/src/server/library/sysadm-moused.cpp b/src/server/library/sysadm-moused.cpp index 027af99..8318857 100644 --- a/src/server/library/sysadm-moused.cpp +++ b/src/server/library/sysadm-moused.cpp @@ -148,6 +148,7 @@ QJsonObject moused::listActiveDevices(){ QJsonObject moused::enableDevice(QJsonObject obj){ if(!obj.contains("device")){ return QJsonObject(); } QString device = obj.value("device").toString(); + if(!QFile::exists("/dev/"+device)){ return QJsonObject(); } General::RunQuickCommand("service moused."+device+" start"); QJsonObject out; out.insert("started", device); @@ -157,6 +158,7 @@ QJsonObject moused::enableDevice(QJsonObject obj){ QJsonObject moused::disableDevice(QJsonObject obj){ if(!obj.contains("device")){ return QJsonObject(); } QString device = obj.value("device").toString(); + if(!QFile::exists("/dev/"+device)){ return QJsonObject(); } General::RunQuickCommand("service moused."+device+" stop"); QJsonObject out; out.insert("stopped", device);