#ifndef _WIN32
#define DllExport
#define CoreExport
-#define printf_c printf
#else
#include "inspircd_win32wrapper.h"
/** Windows defines these already */
#endif
// Required system headers.
+#include <csignal>
#include <ctime>
#include <cstdarg>
#include <algorithm>
#include "inspircd_config.h"
#include "inspircd_version.h"
#include "typedefs.h"
+#include "consolecolors.h"
CoreExport extern InspIRCd* ServerInstance;
*/
inline std::string ConvToStr(char in)
{
- return std::string(in,1);
+ return std::string(1, in);
}
/** Template function to convert any input type to std::string
/** Set to the current signal recieved
*/
- int s_signal;
+ static sig_atomic_t s_signal;
/** Protocol interface, overridden by server protocol modules
*/
*/
bool IsValidMask(const std::string &mask);
+ /** Strips all color codes from the given string
+ * @param sentence The string to strip from
+ */
+ static void StripColor(std::string &sentence);
+
+ /** Parses color codes from string values to actual color codes
+ * @param input The data to process
+ */
+ static void ProcessColors(file_cache& input);
+
/** Rehash the local server
*/
void RehashServer();
/** Attempt to write the process id to a given file
* @param filename The PID file to attempt to write to
+ * @param exitonfail If true and the PID fail cannot be written log to stdout and exit, otherwise only log on failure
* @return This function may bail if the file cannot be written
*/
- void WritePID(const std::string &filename);
+ void WritePID(const std::string& filename, bool exitonfail = true);
/** This constructor initialises all the subsystems and reads the config file.
* @param argc The argument count passed to main()