And with it, add missing SetAppNormal.
Bug-AGL: SPEC-4890
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: Ic362ea671674c4ffac3e8efe15977b2bec3ad316
return status.ok();
}
+bool
+GrpcClient::SetAppNormal(const std::string& app_id)
+{
+ agl_shell_ipc::NormalRequest request;
+
+ request.set_app_id(app_id);
+
+ grpc::ClientContext context;
+ ::agl_shell_ipc::NormalResponse reply;
+
+ grpc::Status status = m_stub->SetAppNormal(&context, request, &reply);
+ return status.ok();
+}
+
bool
GrpcClient::SetAppFullscreen(const std::string& app_id)
{
}
bool
-GrpcClient::SetAppOnOutput(const std::string& app_id, const std::string& output_name)
+GrpcClient::SetAppOnOutput(const std::string& app_id, const std::string &output)
{
agl_shell_ipc::AppOnOutputRequest request;
request.set_app_id(app_id);
- request.set_output(output_name);
+ request.set_output(output);
grpc::ClientContext context;
::agl_shell_ipc::AppOnOutputResponse reply;
return status.ok();
}
+
+bool
+GrpcClient::SetAppSplit(const std::string& app_id, uint32_t orientation,
+ int32_t width, int32_t sticky, const std::string& output_name)
+{
+ agl_shell_ipc::SplitRequest request;
+
+ request.set_app_id(app_id);
+ request.set_output_name(output_name);
+ request.set_tile_orientation(orientation);
+ request.set_width(width);
+ request.set_sticky(sticky);
+
+ grpc::ClientContext context;
+ ::agl_shell_ipc::SplitResponse reply;
+
+ grpc::Status status = m_stub->SetAppSplit(&context, request, &reply);
+ return status.ok();
+}
+
grpc::Status
GrpcClient::Wait(void)
{
bool SetAppFloat(const std::string& app_id, int32_t x_pos, int32_t y_pos);
bool SetAppFullscreen(const std::string& app_id);
bool SetAppOnOutput(const std::string& app_id, const std::string& output);
+ bool SetAppNormal(const std::string& app_id);
bool SetAppPosition(const std::string& app_id, int32_t x, int32_t y);
bool SetAppScale(const std::string& app_id, int32_t width, int32_t height);
+ bool SetAppSplit(const std::string& app_id, uint32_t orientation,
+ int32_t width, int32_t sticky, const std::string& output_name);
std::vector<std::string> GetOutputs();
void GetAppState();
void AppStatusState(Callback callback);
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) {}
+ 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 {
message SplitRequest {
string app_id = 1;
int32 tile_orientation = 2;
+ int32 width = 3;
+ int32 sticky = 4;
+ string output_name = 5;
}
message SplitResponse {
ON_OTHER_OUTPUTS = 4,
SET_FLOAT_POS = 5,
SCALE = 6,
+ SPLIT = 7,
};
static QWindow *
mmode = SET_FLOAT_POS;
else if (strcmp(argv[1], "scale") == 0)
mmode = SCALE;
+ else if (strcmp(argv[1], "split") == 0)
+ mmode = SPLIT;
else
assert(!"Invalid mode");
if (mmode != FLOAT && mmode != FULLSCREEN &&
mmode != ON_OTHER_OUTPUTS && mmode != SET_FLOAT_POS &&
- mmode != SCALE) {
+ mmode != SCALE && mmode != SPLIT) {
fprintf(stderr, "Will not use rpc\n");
goto skip;
}
if (mmode == ON_OTHER_OUTPUTS)
output_name = argv[2];
+ if (mmode == SPLIT)
+ output_name = argv[2];
+
// start grpc connection
GrpcClient *client = new GrpcClient();
client->SetAppScale(myname.toStdString(), 200, 200);
exit(EXIT_SUCCESS);
break;
+ case SPLIT:
+ // put it on the bottom
+ client->SetAppSplit(myname.toStdString(), 4, 0, 0,
+ std::string(output_name));
+ break;
default:
break;
}