mirror of
https://github.com/outbackdingo/sysadm.git
synced 2026-01-27 02:20:17 +00:00
API Change (New Class: sysadm/moused)
Add a new class: sysadm/moused
This class handles all the settings for the moused daemon on the system and provides per-device input device management.
First API "action":
"list_devices": This will list all the devices detected on the system with relevant information about them.
----------------
REST Request (example):
-------------------------------
PUT /sysadm/moused
{
"action" : "list_devices"
}
WebSocket Request:
-------------------------------
{
"id" : "fooid",
"namespace" : "sysadm",
"name" : "moused",
"args" : {
"action" : "list_devices"
}
}
Response:
-------------------------------
{
"args": {
"list_devices": {
"psm0": {
"description": "PS/2 Mouse",
"device": "psm0",
"driver": "psm",
"parent": "atkbdc0"
},
"ums0": {
"description": "YSTEK G Mouse, class 0/0, rev 1.10/0.01, addr 1",
"device": "ums0",
"driver": "ums",
"parent": "uhub1"
}
}
},
"id": "fooid",
"name": "response",
"namespace": "sysadm"
}
This commit is contained in:
@@ -23,6 +23,7 @@
|
||||
#include "library/sysadm-users.h"
|
||||
#include "library/sysadm-servicemanager.h"
|
||||
#include "library/sysadm-firewall.h"
|
||||
#include "library/sysadm-moused.h"
|
||||
|
||||
#define DEBUG 0
|
||||
//#define SCLISTDELIM QString("::::") //SysCache List Delimiter
|
||||
@@ -82,7 +83,7 @@ RestOutputStruct::ExitCode WebSocket::AvailableSubsystems(bool allaccess, QJsonO
|
||||
// - Generic system information
|
||||
out->insert("sysadm/systemmanager","read/write");
|
||||
|
||||
// - PC-BSD Updater
|
||||
// - PC-BSD/TrueOS Updater
|
||||
if(QFile::exists("/usr/local/bin/pc-updatemanager")){
|
||||
out->insert("sysadm/update", "read/write");
|
||||
}
|
||||
@@ -94,6 +95,11 @@ RestOutputStruct::ExitCode WebSocket::AvailableSubsystems(bool allaccess, QJsonO
|
||||
// - Firewall Manager
|
||||
out->insert("sysadm/firewall","read/write");
|
||||
|
||||
// - moused
|
||||
if(QFile::exists("/usr/sbin/moused")){
|
||||
out->insert("sysadm/moused", "read/write");
|
||||
}
|
||||
|
||||
return RestOutputStruct::OK;
|
||||
}
|
||||
|
||||
@@ -149,6 +155,8 @@ RestOutputStruct::ExitCode WebSocket::EvaluateBackendRequest(const RestInputStru
|
||||
return EvaluateSysadmServiceRequest(IN.args, out);
|
||||
}else if(namesp=="sysadm" && name=="firewall"){
|
||||
return EvaluateSysadmFirewallRequest(IN.args, out);
|
||||
}else if(namesp=="sysadm" && name=="moused"){
|
||||
return EvaluateSysadmMousedRequest(IN.args, out);
|
||||
}else{
|
||||
return RestOutputStruct::BADREQUEST;
|
||||
}
|
||||
@@ -1211,3 +1219,26 @@ RestOutputStruct::ExitCode WebSocket::EvaluateSysadmFirewallRequest(const QJsonV
|
||||
}
|
||||
return (ok ? RestOutputStruct::OK : RestOutputStruct::BADREQUEST);
|
||||
}
|
||||
|
||||
RestOutputStruct::ExitCode WebSocket::EvaluateSysadmMousedRequest(const QJsonValue in_args, QJsonObject *out){
|
||||
QString action = in_args.toObject().value("action").toString();
|
||||
QJsonObject outobj;
|
||||
if(action == "list_devices"){
|
||||
outobj = sysadm::moused::listDevices();
|
||||
}else if(action == "list_device_options"){
|
||||
|
||||
}else if(action == "read_device_options"){
|
||||
|
||||
}else if(action == "set_device_options"){
|
||||
|
||||
}
|
||||
|
||||
//check return structure for validity
|
||||
if(!outobj.keys().isEmpty()){
|
||||
out->insert(action, outobj);
|
||||
return RestOutputStruct::OK;
|
||||
}else{
|
||||
return RestOutputStruct::BADREQUEST;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -96,6 +96,8 @@ private:
|
||||
RestOutputStruct::ExitCode EvaluateSysadmServiceRequest(const QJsonValue in_args, QJsonObject *out);
|
||||
// -- sysadm Firewall Manager API
|
||||
RestOutputStruct::ExitCode EvaluateSysadmFirewallRequest(const QJsonValue in_args, QJsonObject *out);
|
||||
// -- sysadm moused API
|
||||
RestOutputStruct::ExitCode EvaluateSysadmMousedRequest(const QJsonValue in_args, QJsonObject *out);
|
||||
|
||||
private slots:
|
||||
void sendReply(QString msg);
|
||||
|
||||
@@ -15,7 +15,8 @@ HEADERS += $${PWD}/sysadm-global.h \
|
||||
$${PWD}/sysadm-update.h \
|
||||
$${PWD}/sysadm-users.h \
|
||||
$${PWD}/sysadm-zfs.h \
|
||||
$${PWD}/sysadm-pkg.h
|
||||
$${PWD}/sysadm-pkg.h \
|
||||
$${PWD}/sysadm-moused.h
|
||||
|
||||
SOURCES += $${PWD}/NetDevice.cpp \
|
||||
$${PWD}/sysadm-general.cpp \
|
||||
@@ -31,4 +32,5 @@ SOURCES += $${PWD}/NetDevice.cpp \
|
||||
$${PWD}/sysadm-update.cpp \
|
||||
$${PWD}/sysadm-users.cpp \
|
||||
$${PWD}/sysadm-zfs.cpp \
|
||||
$${PWD}/sysadm-pkg.cpp
|
||||
$${PWD}/sysadm-pkg.cpp \
|
||||
$${PWD}/sysadm-moused.cpp
|
||||
|
||||
Reference in New Issue
Block a user