/*
- * Copyright © 2022 Collabora, Ltd.
+ * Copyright © 2022, 2023 Collabora, Ltd.
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
{
LOG("activating app %s on output %s\n", request->app_id().c_str(),
request->output_name().c_str());
+ if (!m_aglShell) {
+ LOG("m_aglShell not set-up\n");
+ return nullptr;
+ }
m_aglShell->ActivateApp(request->app_id(), request->output_name());
const ::agl_shell_ipc::DeactivateRequest* request,
::agl_shell_ipc::DeactivateResponse* /*response*/)
{
+ if (!m_aglShell) {
+ LOG("m_aglShell not set-up\n");
+ return nullptr;
+ }
+
m_aglShell->DeactivateApp(request->app_id());
grpc::ServerUnaryReactor* reactor = context->DefaultReactor();
const ::agl_shell_ipc::FloatRequest* request,
::agl_shell_ipc::FloatResponse* /* response */)
{
+ if (!m_aglShell) {
+ LOG("m_aglShell not set-up\n");
+ return nullptr;
+ }
m_aglShell->SetAppFloat(request->app_id(),
request->x_pos(), request->y_pos());
const ::agl_shell_ipc::NormalRequest* request,
::agl_shell_ipc::NormalResponse* /* response */)
{
+ if (!m_aglShell) {
+ LOG("m_aglShell not set-up\n");
+ return nullptr;
+ }
m_aglShell->SetAppNormal(request->app_id());
grpc::ServerUnaryReactor* reactor = context->DefaultReactor();
return reactor;
}
+grpc::ServerUnaryReactor *
+GrpcServiceImpl::SetAppFullscreen(grpc::CallbackServerContext *context,
+ const ::agl_shell_ipc::FullscreenRequest* request,
+ ::agl_shell_ipc::FullscreenResponse* /* response */)
+{
+ if (!m_aglShell) {
+ LOG("m_aglShell not set-up\n");
+ return nullptr;
+ }
+ m_aglShell->SetAppFullscreen(request->app_id());
+
+ grpc::ServerUnaryReactor* reactor = context->DefaultReactor();
+ reactor->Finish(grpc::Status::OK);
+ return reactor;
+}
+
+grpc::ServerUnaryReactor *
+GrpcServiceImpl::SetAppOnOutput(grpc::CallbackServerContext *context,
+ const ::agl_shell_ipc::AppOnOutputRequest* request,
+ ::agl_shell_ipc::AppOnOutputResponse* /* response */)
+{
+ if (!m_aglShell) {
+ LOG("m_aglShell not set-up\n");
+ return nullptr;
+ }
+ m_aglShell->SetAppOnOutput(request->app_id(), request->output());
+
+ grpc::ServerUnaryReactor* reactor = context->DefaultReactor();
+ reactor->Finish(grpc::Status::OK);
+ return reactor;
+}
+
+grpc::ServerUnaryReactor *
+GrpcServiceImpl::SetAppPosition(grpc::CallbackServerContext *context,
+ const ::agl_shell_ipc::AppPositionRequest* request,
+ ::agl_shell_ipc::AppPositionResponse* /* response */)
+{
+ if (!m_aglShell) {
+ LOG("m_aglShell not set-up\n");
+ return nullptr;
+ }
+ m_aglShell->SetAppPosition(request->app_id(), request->x(), request->y());
+
+ grpc::ServerUnaryReactor* reactor = context->DefaultReactor();
+ reactor->Finish(grpc::Status::OK);
+ return reactor;
+}
+
+grpc::ServerUnaryReactor *
+GrpcServiceImpl::SetAppScale(grpc::CallbackServerContext *context,
+ const ::agl_shell_ipc::AppScaleRequest* request,
+ ::agl_shell_ipc::AppScaleResponse* /* response */)
+{
+ if (!m_aglShell) {
+ LOG("m_aglShell not set-up\n");
+ return nullptr;
+ }
+ m_aglShell->SetAppScale(request->app_id(),
+ request->width(), request->height());
+
+ grpc::ServerUnaryReactor* reactor = context->DefaultReactor();
+ reactor->Finish(grpc::Status::OK);
+ return reactor;
+}
+
grpc::ServerUnaryReactor *
GrpcServiceImpl::SetAppSplit(grpc::CallbackServerContext *context,
const ::agl_shell_ipc::SplitRequest* request,
::agl_shell_ipc::SplitResponse* /*response*/)
{
- m_aglShell->SetAppSplit(request->app_id(), request->tile_orientation());
+ if (!m_aglShell) {
+ LOG("m_aglShell not set-up\n");
+ return nullptr;
+ }
+ m_aglShell->SetAppSplit(request->app_id(), request->tile_orientation(), request->width(), request->output_name());
grpc::ServerUnaryReactor* reactor = context->DefaultReactor();
reactor->Finish(grpc::Status::OK);
{
struct window_output *output;
+ if (!m_aglShell) {
+ LOG("m_aglShell not set-up\n");
+ return nullptr;
+ }
+
struct wl_list *list = &m_aglShell->m_shell_data->output_list;
wl_list_for_each(output, list, link) {
auto m_output = response->add_outputs();
const ::agl_shell_ipc::AppStateRequest* /*request */)
{
- Lister *n = new Lister(m_aglShell);
+ if (!m_aglShell) {
+ LOG(">> m_aglShell not set-up\n");
+ return nullptr;
+ }
+
+ Lister *n = new Lister(m_aglShell);
m_aglShell->m_shell_data->server_context_list.push_back(std::pair(context, n));
LOG("added lister %p\n", static_cast<void *>(n));