diff --git a/bsnes/target-bsnes/program/program.hpp b/bsnes/target-bsnes/program/program.hpp index f0b25cfb..04e18fc4 100644 --- a/bsnes/target-bsnes/program/program.hpp +++ b/bsnes/target-bsnes/program/program.hpp @@ -48,6 +48,11 @@ struct Program : Lock, Emulator::Platform { auto cheatPath() -> string; auto statePath() -> string; auto screenshotPath() -> string; + + // rpc + auto startRpcListener() -> void; + auto stopRpcListener() -> void; + auto processRpcCommands() -> void; //states.cpp struct State { @@ -206,6 +211,18 @@ public: };}; uint mute = 0; + // rpc.cpp + struct RpcCommandType { enum : uint { + SaveStateToFile = 1 << 1 + }; }; + + struct RpcCommand { + RpcCommandType type; + string arg; + }; + + vector pendingRpcCommands; + bool fastForwarding = false; bool rewinding = false; };