syntax = "proto3";

package retrom;

import "retrom/models/emulators.proto";
import "retrom/models/game-files.proto";
import "retrom/models/games.proto";

message RetromHostInfo {
  string host_name = 1;
  string port = 2;
  string host = 3;
}

enum InstallationStatus {
  INSTALLED = 0;
  INSTALLING = 1;
  NOT_INSTALLED = 2;
}

message InstallationProgressUpdate {
  int32 gameId = 1;
  uint32 progress = 2;
}

message InstallGamePayload {
  Game game = 1;
  repeated GameFile files = 2;
}

message UninstallGamePayload {
  Game game = 1;
}

enum PlayStatus {
  PLAYING = 0;
  NOT_PLAYING = 1;
}

message PlayGamePayload {
  Game game = 1;
  EmulatorProfile emulator_profile = 2;
  Emulator emulator = 3;
}

message StopGamePayload {
  Game game = 1;
}

message GetGamePlayStatusPayload {
  Game game = 1;
}

message GamePlayStatusUpdate {
  int32 game_id = 1;
  PlayStatus play_status = 2;
}
