//============================================================================= // YHTTPD // Main Class //----------------------------------------------------------------------------- // Cyhttpd // Main Function and Class for Handling the Webserver-Application // - Handles Command Line Input // - Reads and Handles "ReadConfig" (inclusive Hooking) // - Creates Webserver and start them listening //============================================================================= #ifndef __yhttpd_h__ #define __yhttpd_h__ // system #include #include // yhttpd #include "yconfig.h" //#include #include //----------------------------------------------------------------------------- class Cyhttpd { private: CWebserver *webserver; // Aggregation of Webserver (now: only one) public: bool flag_threading_off; // switch of Connection Threading static CStringList ConfigList; // Vars & Values from ReadConfig // signal handler static volatile sig_atomic_t sig_do_shutdown; // constructor & destructor Cyhttpd(); ~Cyhttpd(); // Main Programm calls void run(); // Init Hooks, ReadConfig, Start Webserver bool Configure(); void stop_webserver(); // Remove Hooks, Stop Webserver static void version(FILE *dest);// Show Webserver Version static void usage(FILE *dest); // Show command line usage // Hooks void hooks_attach(); // Add a Hook-Class to HookList void hooks_detach(); // Remove a Hook-Class from HookList void ReadConfig(void); // Read the config file for the webserver void ReadLanguage(void); // Read Language Files }; #endif // __yhttpd_h__