// 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); }