summaryrefslogtreecommitdiff
path: root/zen/shutdown.h
diff options
context:
space:
mode:
Diffstat (limited to 'zen/shutdown.h')
-rw-r--r--zen/shutdown.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/zen/shutdown.h b/zen/shutdown.h
index 20354a14..b4d51f69 100644
--- a/zen/shutdown.h
+++ b/zen/shutdown.h
@@ -7,6 +7,7 @@
#ifndef SHUTDOWN_H_3423847870238407783265
#define SHUTDOWN_H_3423847870238407783265
+#include <functional>
#include "file_error.h"
@@ -15,6 +16,11 @@ namespace zen
void shutdownSystem(); //throw FileError
void suspendSystem(); //
[[noreturn]] void terminateProcess(int exitCode);
+
+void onSystemShutdownRegister(const SharedRef<std::function<void()>>& task /*noexcept*/); //save important/user data!
+void onSystemShutdownRegister( SharedRef<std::function<void()>>&& task) = delete; //no temporaries! shared_ptr should manage life time!
+void onSystemShutdownRunTasks(); //call at appropriate time, e.g. when receiving wxEVT_QUERY_END_SESSION/wxEVT_END_SESSION
+//+ also called by shutdownSystem()
}
#endif //SHUTDOWN_H_3423847870238407783265
bgstack15