bool RunPreResumeActions();
void ClearPreResumeActions();
+
+ void ClearPreResumeAction(PreResumeActionCallback callback, void *baton);
ProcessRunLock &GetRunLock();
PreResumeCallbackAndBaton(PreResumeActionCallback in_callback,
void *in_baton)
: callback(in_callback), baton(in_baton) {}
+ bool operator== (const PreResumeCallbackAndBaton &rhs) {
+ return callback == rhs.callback && baton == rhs.baton;
+ }
};
using StructuredDataPluginMap =
void Process::ClearPreResumeActions() { m_pre_resume_actions.clear(); }
+void Process::ClearPreResumeAction(PreResumeActionCallback callback, void *baton)
+{
+ PreResumeCallbackAndBaton element(callback, baton);
+ auto found_iter = std::find(m_pre_resume_actions.begin(), m_pre_resume_actions.end(), element);
+ if (found_iter != m_pre_resume_actions.end())
+ {
+ m_pre_resume_actions.erase(found_iter);
+ }
+}
+
ProcessRunLock &Process::GetRunLock() {
if (m_private_state_thread.EqualsThread(Host::GetCurrentThread()))
return m_private_run_lock;