omni::application::shutdown_handler::detach

SYNOPSIS

Detach an omni::callback delegate from the application shutdown event.

top

DESCRIPTION

Detaches an omni::callback that was first attached via the omni::application::shutdown_handler::attach function. If the callback was never first attached, this function has no effect.

Calling this function after an omni::application::run context has returned will have no effect since the run function will have already returned thus calling the delegates.

top

PARAMETERS

shutdown_func - The omni::callback delegate function to detach.

top

CONSIDERATIONS

This function will only have an effect if you have explicitly called one of the omni::application::run functions to block the main thread until program completion.

top

NOTES

Calling this function after the shutdown handler has been called will have no effect on the handler since it will have already been called.

top

EXAMPLE
#include <omni/application>

void app_exit()
{
    std::cout << "Application exiting" << std::endl;
}

void app_shutdown()
{
    std::cout << "Application shutting down" << std::endl;
}

void app_run()
{
    std::cout << "Leaving, waiting for CTRL+C" << std::endl;
}

int main(int argc, const char* argv[])
{
    omni::application::exit_handler::attach(&app_exit);
    omni::application::shutdown_handler::attach(&app_shutdown);
    if (argc > 2) {
        omni::application::shutdown_handler::detach(&app_shutdown);
    }
    return omni::application::run(&app_run);
}
Visit the examples page for more.

top