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 { };