syntax = "proto3";
package driver;
service DriverGrpc {
rpc watchDevList(Empty) returns (stream DeviceList);
rpc watchVender(Empty) returns (stream VenderMsg);
rpc watchSystemInfo(Empty) returns (stream SystemInfo);
rpc getVersion(Empty) returns (Version);
rpc sendMsg(SendMsg) returns (ResSend);
rpc readMsg(ReadMsg) returns (ResRead);
rpc sendRawFeature(SendMsg) returns (ResSend);
rpc readRawFeature(ReadMsg) returns (ResRead);
rpc setLightType(SetLight) returns (Empty);
rpc insertDb(InsertDb) returns (ResSend);
rpc deleteItemFromDb(DeleteItem) returns (ResSend);
rpc getItemFromDb(GetItem) returns (Item);
rpc getAllKeysFromDb(GetAll) returns (AllList);
rpc getAllValuesFromDb(GetAll) returns (AllList);
rpc changeWirelessLoopStatus(WirelessLoopStatus) returns (Empty);
rpc cleanDev(ReadMsg) returns (ResSend);
}
message Empty {}
message DeviceList {
repeated DJDev devlist = 1;
DeviceListChangeType type = 2;
}
message DJDev {
oneof oneofdev {
Device dev = 1;
}
}
message Device {
DeviceType devtype = 1;
bool is24 = 2;
string path = 3;
int32 id = 4;
uint32 battery = 5;
bool isonline = 6;
uint32 vid = 7;
uint32 pid = 8;
}
message VenderMsg {
bytes msg = 1;
}
message SystemInfo {
uint64 disk_space_total = 1;
uint64 disk_spce_available = 2;
uint64 net_work_total_up = 3;
uint64 net_work_total_down = 4;
float cpu_temperater = 5;
uint64 mem_total = 6;
uint64 mem_used = 7;
float cpu_usage = 8;
}
message Version {
string baseversion = 1;
string timestamp = 2;
}
message SendMsg {
string device_path = 1;
bytes msg = 2;
CheckSumType check_sum_type = 3;
DangleDevType dangle_dev_type = 4;
}
message ReadMsg {
string device_path = 1;
DangleDevType dangle_dev_type = 2;
}
message ResSend {
string err = 1;
}
message ResRead {
string err = 1;
bytes msg = 2;
}
message SetLight {
string device_path = 1;
int32 light_type = 2;
int32 screen_id = 3;
DangleDevType dangle_dev_type = 4;
}
message InsertDb {
string dbpath = 1;
bytes key = 2;
bytes value = 3;
}
message DeleteItem {
string dbpath = 1;
bytes key = 2;
}
message GetItem {
string dbpath = 1;
bytes key = 2;
}
message Item {
bytes value = 1;
string err_str = 2;
}
message GetAll {
string dbpath = 1;
}
message AllList {
repeated bytes data = 1;
string err_str = 2;
}
message WirelessLoopStatus {
bool lock = 1;
}
enum CheckSumType {
BIT7 = 0;
BIT8 = 1;
NONE = 2;
}
enum DangleDevType {
DANGLEDEVTYPENONE = 0;
DANGLEDEVTYPEKEYBOARD = 1;
DANGLEDEVTYPEMOUSE = 2;
}
enum DeviceListChangeType {
INIT = 0;
ADD = 1;
REMOVE = 2;
CHANGE = 3;
}
enum DeviceType {
YZWKEYBOARD = 0;
YZWBOOT = 1;
YZWVENDER = 2;
}