syntax = "proto3";
package ash.eche_app.proto;
option optimize_for = LITE_RUNTIME;
message ExoMessage {
oneof payload {
SignalingRequest request = 1;
SignalingResponse response = 2;
SignalingAction action = 3;
ProximityPing proximity_ping = 4;
SendAppsSetupRequest apps_setup_request = 5;
SendAppsSetupResponse apps_setup_response = 6;
GetAppsAccessStateRequest apps_access_state_request = 7;
GetAppsAccessStateResponse apps_access_state_response = 8;
StatusChange status_change = 9;
PolicyStateChange policy_state_change = 10;
}
}
message NetworkInfo {
bytes ssid = 1;
bool mobile_network = 2;
}
message SignalingRequest {
bytes data = 1;
}
message SignalingResponse {
bytes data = 1;
optional NetworkInfo network_info = 2;
}
message SignalingAction {
ActionType action_type = 1;
}
enum ActionType {
ACTION_UNKNOWN = 0;
ACTION_TEAR_DOWN = 1;
}
message ProximityPing {
}
enum AppsAccessState {
ACCESS_UNKNOWN = 0;
ACCESS_NOT_GRANTED = 1;
ACCESS_GRANTED = 2;
}
enum Result {
RESULT_UNKNOWN = 0;
RESULT_NO_ERROR = 1;
RESULT_ERROR_USER_REJECTED = 2;
RESULT_ERROR_ACTION_TIMEOUT = 3;
RESULT_ERROR_ACTION_CANCELED = 4;
RESULT_ERROR_SYSTEM = 5;
RESULT_ACK_BY_EXO = 6;
}
message SendAppsSetupRequest {}
message SendAppsSetupResponse {
Result result = 1;
AppsAccessState apps_access_state = 2;
}
message GetAppsAccessStateRequest {}
message GetAppsAccessStateResponse {
Result result = 1;
AppsAccessState apps_access_state = 2;
}
message StatusChange {
StatusChangeType type = 1;
}
enum StatusChangeType {
TYPE_UNKNOWN = 0;
TYPE_STREAM_START = 1;
TYPE_STREAM_STOP = 2;
}
message PolicyStateChange {
AppStreamingPolicy app_policy_state = 1;
}
enum AppStreamingPolicy {
APP_POLICY_UNKNOWN = 0;
APP_POLICY_DISABLED = 1;
APP_POLICY_ENABLED = 2;
}