Move interval reset handling

This commit is contained in:
WarmUpTill
2025-03-18 19:40:11 +01:00
committed by WarmUpTill
parent eaad4d1bbd
commit 9944a1b03b
6 changed files with 22 additions and 30 deletions

View File

@@ -21,6 +21,12 @@ static std::vector<std::function<void()>> &getPluginCleanupSteps()
return steps;
}
static std::vector<std::function<void()>> &getResetIntervalSteps()
{
static std::vector<std::function<void()>> steps;
return steps;
}
static std::mutex mutex;
void SavePluginSettings(obs_data_t *obj)
@@ -48,9 +54,10 @@ void AddPostLoadStep(std::function<void()> step)
GetSwitcher()->AddPostLoadStep(step);
}
void AddIntervalResetStep(std::function<void()> step, bool lock)
void AddIntervalResetStep(std::function<void()> step)
{
GetSwitcher()->AddIntervalResetStep(step, lock);
std::lock_guard<std::mutex> lock(mutex);
getResetIntervalSteps().emplace_back(step);
}
void RunPostLoadSteps()
@@ -100,6 +107,14 @@ void RunPluginCleanupSteps()
}
}
void RunIntervalResetSteps()
{
std::lock_guard<std::mutex> lock(mutex);
for (const auto &step : getResetIntervalSteps()) {
step();
}
}
void StopPlugin()
{
GetSwitcher()->Stop();