// // A signal handler // void MainSignalHandler::Handler(const INT_32 iSignal) { switch (iSignal) { // Ignore it case SIGPIPE: ;; break; // Shutdown server immediatly case SIGINT: oGlobalContext.shutdown_type = GlobalContext::IMMEDIATE; oGlobalContext.error_log -> Notice("%d catched SIGINT. Shutting down immediately", INT_32(getpid())); break; // Commit all transactions, then shut down case SIGTERM: oGlobalContext.shutdown_type = GlobalContext::TRANSACTIONAL; oGlobalContext.error_log -> Notice("%d catched SIGTERM. Commit all transactions and shut down", INT_32(getpid())); break; // Re-open logs, TBD case SIGUSR1: oGlobalContext.error_log -> Notice("%d catched SIGUSR1. Reopening all logs", INT_32(getpid())); break; default: oGlobalContext.error_log -> Notice("Unknown signal (%d) catched: %d", INT_32(getpid()), iSignal); } }
// // Handler // INT_32 FnGetText::Handler(CDT * aArguments, const UINT_32 iArgNum, CDT & oCDTRetVal, Logger & oLogger) { if (iArgNum == 1) { oCDTRetVal = gettext(aArguments[0].GetString().c_str()); return 0; } else if (iArgNum == 2) { oCDTRetVal = dgettext(aArguments[1].GetString().c_str(), aArguments[0].GetString().c_str()); return 0; } else if (iArgNum == 3) { oCDTRetVal = ngettext(aArguments[2].GetString().c_str(), aArguments[1].GetString().c_str(), INT_32(aArguments[0].GetInt())); return 0; } else if (iArgNum == 4) { oCDTRetVal = dngettext(aArguments[3].GetString().c_str(), aArguments[2].GetString().c_str(), aArguments[1].GetString().c_str(), INT_32(aArguments[0].GetInt())); return 0; } oLogger.Emerg("Usage: GETTEXT(message), GETTEXT(domain, message) or GETTEXT(message, message-plural, n)"); return -1; }
// // Handler // INT_32 FnGetText_::Handler(CDT * aArguments, const UINT_32 iArgNum, CDT & oCDTRetVal, Logger & oLogger) { if (iArgNum == 1) { oCDTRetVal = gettext(aArguments[0].GetString().c_str()); return 0; } else if (iArgNum == 2) { oCDTRetVal = dgettext(aArguments[1].GetString().c_str(), aArguments[0].GetString().c_str()); return 0; } else if (iArgNum == 3) { oCDTRetVal = dcgettext(aArguments[2].GetString().c_str(), aArguments[1].GetString().c_str(), INT_32(aArguments[3].GetInt())); return 0; } oLogger.Emerg("Usage: _(message) or _(message, domain) or _(message, domain, category)"); return -1; }