aboutsummaryrefslogtreecommitdiffstats
path: root/app/protocol/agl_shell.proto
diff options
context:
space:
mode:
authorMarius Vlad <marius.vlad@collabora.com>2023-11-30 15:51:56 +0200
committerMarius Vlad <marius.vlad@collabora.com>2023-12-04 23:47:03 +0200
commitf00c1e19f5c4cbcd185c8043f3062612bf1537f7 (patch)
tree453b6571c97cc90dbc98d8a8e3d654f7e9208ad2 /app/protocol/agl_shell.proto
parent7fd8b36ce15d7617229a86a05e4e431631e684d5 (diff)
tbtnavi: Add gRPC API support
This adds support for gRPC API specifically specifically to allow placing the application on a different output, the remoting one. Bug-AGL: SPEC-5003 Change-Id: Ibe7047b3b21dc67c44111a8b615a51588d2216d9 Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Diffstat (limited to 'app/protocol/agl_shell.proto')
-rw-r--r--app/protocol/agl_shell.proto110
1 files changed, 110 insertions, 0 deletions
diff --git a/app/protocol/agl_shell.proto b/app/protocol/agl_shell.proto
new file mode 100644
index 0000000..c4f3dfe
--- /dev/null
+++ b/app/protocol/agl_shell.proto
@@ -0,0 +1,110 @@
+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 SetAppFullscreen(FullscreenRequest) returns (FullscreenResponse) {}
+ rpc AppStatusState(AppStateRequest) returns (stream AppStateResponse) {}
+ rpc GetOutputs(OutputRequest) returns (ListOutputResponse) {}
+ rpc SetAppNormal(NormalRequest) returns (NormalResponse) {}
+ rpc SetAppOnOutput(AppOnOutputRequest) returns (AppOnOutputResponse) {}
+ rpc SetAppPosition(AppPositionRequest) returns (AppPositionResponse) {}
+ rpc SetAppScale(AppScaleRequest) returns (AppScaleResponse) {}
+}
+
+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;
+ int32 x_pos = 2;
+ int32 y_pos = 3;
+}
+
+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;
+};
+
+message NormalRequest {
+ string app_id = 1;
+};
+
+message NormalResponse {
+};
+
+message FullscreenRequest {
+ string app_id = 1;
+};
+
+message FullscreenResponse {
+};
+
+message AppOnOutputRequest {
+ string app_id = 1;
+ string output = 2;
+};
+
+message AppOnOutputResponse {
+};
+
+message AppPositionRequest {
+ string app_id = 1;
+ int32 x = 2;
+ int32 y = 3;
+};
+
+message AppPositionResponse {
+};
+
+message AppScaleRequest {
+ string app_id = 1;
+ int32 width = 2;
+ int32 height = 3;
+};
+
+message AppScaleResponse {
+};