syntax = "proto3"; package ledd; import "led.proto"; import "client.proto"; import "google/protobuf/any.proto"; import "google/protobuf/empty.proto"; service LEDInterface { rpc GetLED (LED) returns (RPCResponse) {} rpc ListLED (google.protobuf.Empty) returns (stream LED) {} rpc AddLED (LED) returns (RPCResponse) {} rpc AddLEDGroup (LEDGroup) returns (RPCResponse) {} rpc ListLEDGroup (google.protobuf.Empty) returns (stream LEDGroup) {} rpc RemoveLED(LED) returns (RPCResponse) {} rpc RemoveLEDGroup(LEDGroup) returns (RPCResponse) {} rpc AddClient(Client) returns (RPCResponse) {} rpc RemoveClient(Client) returns (RPCResponse) {} rpc Init(Client) returns (LedD) {} rpc UpdateClient(Client) returns (RPCResponse) {} rpc UpdateLED(stream LED) returns (stream LED) {} rpc UpdateLEDGroup(stream LEDGroup) returns (stream LEDGroup) {} } message LedD { string hostname = 1; string version = 2; string unique = 3; } message RPCResponse { enum ResponseType { OK = 0; ERROR = 1; INVALID_REQUEST = 2; } ResponseType status = 1; string msg = 2; repeated google.protobuf.Any payload = 3; }