grpc-proxy: Init gRPC
[src/agl-compositor.git] / grpc-proxy / agl_shell.proto
diff --git a/grpc-proxy/agl_shell.proto b/grpc-proxy/agl_shell.proto
new file mode 100644 (file)
index 0000000..22fad1c
--- /dev/null
@@ -0,0 +1,62 @@
+syntax = "proto3";
+// using empty Response suitable better for forward compat
+//import "google/protobuf/empty.proto";
+package agl_shell_ipc;
+
+service AglShellManagerService {
+       rpc ActivateApp(ActivateRequest)                                returns (ActivateResponse) {}
+       rpc DeactivateApp(DeactivateRequest)                    returns (DeactivateResponse) {}
+       rpc SetAppSplit(SplitRequest)                           returns (SplitResponse) {}
+       rpc SetAppFloat(FloatRequest)                           returns (FloatResponse) {}
+       rpc AppStatusState(AppStateRequest)                     returns (stream AppStateResponse) {}
+       rpc GetOutputs(OutputRequest)                           returns (ListOutputResponse) {}
+}
+
+message ActivateRequest {
+       string app_id = 1;
+       string output_name = 2;
+}
+
+message ActivateResponse {
+};
+
+message DeactivateRequest {
+       string app_id = 1;
+}
+
+message DeactivateResponse {
+}
+
+message SplitRequest {
+       string app_id = 1;
+       int32 tile_orientation = 2;
+}
+
+message SplitResponse {
+}
+
+message FloatRequest {
+       string app_id = 1;
+}
+
+message FloatResponse {
+}
+
+message AppStateRequest {
+}
+
+message AppStateResponse {
+       int32 state = 1;
+       string app_id = 2;
+}
+
+message OutputRequest {
+};
+
+message OutputResponse {
+       string name = 1;
+};
+
+message ListOutputResponse {
+       repeated OutputResponse outputs = 1;
+};