diff options
Diffstat (limited to 'zen/shutdown.h')
-rw-r--r-- | zen/shutdown.h | 6 |
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 |