Merge pull request #7003 from lioncash/host

Common: Move host communication enum to Host.h
This commit is contained in:
Léo Lam authored and GitHub committed 2018-05-28 20:57:34 +02:00
commit f05eb10026
13 files changed
+38 -38

No files matched your search

+2 -2
View File
@@ -291,7 +291,7 @@ static void CPUSetInitialExecutionState()
SetState(SConfig::GetInstance().bBootToPause ? State::Paused : State::Running);
Host_UpdateDisasmDialog();
Host_UpdateMainFrame();
Host_Message(WM_USER_CREATE);
Host_Message(HostMessageID::WMUserCreate);
});
}
@@ -924,7 +924,7 @@ void QueueHostJob(std::function<void()> job, bool run_during_stop)
}
// If the the queue was empty then kick the Host to come and get this job.
if (send_message)
Host_Message(WM_USER_JOB_DISPATCH);
Host_Message(HostMessageID::WMUserJobDispatch);
}
void HostDispatchJobs()
+1 -1
View File
@@ -100,7 +100,7 @@ void UpdateWantDeterminism(bool initial = false);
void QueueHostJob(std::function<void()> job, bool run_during_stop = false);
// Should be called periodically by the Host to run pending jobs.
// WM_USER_JOB_DISPATCH will be sent when something is added to the queue.
// WMUserJobDispatch will be sent when something is added to the queue.
void HostDispatchJobs();
void DoFrameStep();
+1 -1
View File
@@ -112,7 +112,7 @@ public:
{
case CPU::State::PowerDown:
CPU::Break();
Host_Message(WM_USER_STOP);
Host_Message(HostMessageID::WMUserStop);
break;
case CPU::State::Stepping:
+1 -1
View File
@@ -25,7 +25,7 @@ void HBReload()
{
// There isn't much we can do. Just stop cleanly.
CPU::Break();
Host_Message(WM_USER_STOP);
Host_Message(HostMessageID::WMUserStop);
}
void GeckoCodeHandlerICacheFlush()
+14 -5
View File
@@ -8,25 +8,34 @@
// Host - defines an interface for the emulator core to communicate back to the
// OS-specific layer
//
// The emulator core is abstracted from the OS using 2 interfaces:
// Common and Host.
//
// Common simply provides OS-neutral implementations of things like threads, mutexes,
// INI file manipulation, memory mapping, etc.
//
// Host is an abstract interface for communicating things back to the host. The emulator
// core is treated as a library, not as a main program, because it is far easier to
// write GUI interfaces that control things than to squash GUI into some model that wasn't
// designed for it.
//
// The host can be just a command line app that opens a window, or a full blown debugger
// interface.
enum class HostMessageID
{
// Begin at 10 in case there is already messages with wParam = 0, 1, 2 and so on
WMUserStop = 10,
WMUserCreate,
WMUserSetCursor,
WMUserJobDispatch,
};
bool Host_UINeedsControllerState();
bool Host_RendererHasFocus();
bool Host_RendererIsFullscreen();
void Host_Message(int Id);
void Host_Message(HostMessageID id);
void Host_NotifyMapLoaded();
void Host_RefreshDSPDebuggerWindow();
void Host_RequestRenderWindowSize(int width, int height);