// This file is part of Eruption. // // Eruption is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // Eruption is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with Eruption. If not, see . // // Copyright (c) 2019-2022, The Eruption Development Team syntax = "proto3"; package sdk_support; message Request { oneof request_message { NoopRequest noop = 1; StatusRequest status = 2; ActiveProfileRequest active_profile = 3; SwitchProfileRequest switch_profile = 4; SetParametersRequest set_parameters = 5; SetCanvasRequest set_canvas = 6; NotifyHotplugRequest notify_hotplug = 7; } } message NoopRequest { } message StatusRequest { } message ActiveProfileRequest { } message SwitchProfileRequest { string profile_file = 1; } message SetParametersRequest { string profile_file = 1; string script_file = 2; map parameter_values = 3; } message SetCanvasRequest { bytes canvas = 1; } message NotifyHotplugRequest { bytes payload = 1; } message Response { oneof response_message { StatusResponse status = 1; ActiveProfileResponse active_profile = 2; SwitchProfileResponse switch_profile = 3; SetParametersResponse set_parameters = 4; SetCanvasResponse set_canvas = 5; NotifyHotplugResponse notify_hotplug = 6; } } // No response to NoopRequest - it's a NOOP message StatusResponse { string description = 1; } message ActiveProfileResponse { string profile_file = 1; } message SwitchProfileResponse { bool switched = 1; } message SetParametersResponse { } message SetCanvasResponse { } message NotifyHotplugResponse { } // Service definition service SdkSupport { rpc Sdk(Request) returns (Response); }