void LuaEngine::shutdown() { if(!isValid()){ qWarning() << "LuaEngine: Trying to shutdown invalid lua"; return; } loadedFiles.clear(); // FIXME: Add shutdown event forceShutdown(); }
//----------------------------------------------------------------------------- void Platform::postQuitMessage(const U32 in_quitVal) { // if we have a window send a quit event, otherwise just force shutdown #if 0 if (x86UNIXState->windowCreated()) { CheckExitCode(in_quitVal); SendQuitEvent(); } else #endif { forceShutdown(in_quitVal); } }
bool Daemon::processControl( Channel channel ) { InputMessage message; channel->peek( message ); auto cleanup = [&] { channel->receiveHeader( message ); }; Code code = message.tag< Code >(); switch ( code ) { case Code::Enslave: enslave( message, std::move( channel ) ); break; case Code::Disconnect: cleanup(); release( std::move( channel ) ); return false; case Code::Peers: startGrouping( message, std::move( channel ) ); break; case Code::ConnectTo: connecting( message, std::move( channel ) ); break; case Code::Join: join( message, std::move( channel ) ); break; case Code::DataLine: addDataLine( message, std::move( channel ) ); break; case Code::Grouped: cleanup(); grouped( std::move( channel ) ); break; case Code::InitialData: initData( message, std::move( channel ) ); break; case Code::Run: run( message, std::move( channel ) ); break; case Code::PrepareToLeave: cleanup(); prepare( std::move( channel ) ); break; case Code::CutRope: cleanup(); cutRope( std::move( channel ) ); break; case Code::Leave: cleanup(); leave( std::move( channel ) ); break; case Code::Error: cleanup(); error( std::move( channel ) ); break; case Code::Renegade: renegade( message, std::move( channel ) ); break; case Code::Status: cleanup(); status( std::move( channel ) ); break; case Code::Shutdown: cleanup(); shutdown( std::move( channel ) ); break; case Code::ForceShutdown: cleanup(); forceShutdown(); break; case Code::ForceReset: cleanup(); forceReset(); return false; default: cleanup(); throw ResponseException( { Code::Enslave, Code::Disconnect, Code::Peers, Code::ConnectTo, Code::Join, Code::DataLine, Code::Grouped, Code::InitialData, Code::Run, Code::PrepareToLeave, Code::Leave, Code::CutRope, Code::Error, Code::Renegade, Code::Shutdown, Code::ForceShutdown, Code::ForceReset, }, code ); break; } return true; }