summaryrefslogtreecommitdiff
path: root/yhttpd/src/ncur/ncur.h
diff options
context:
space:
mode:
Diffstat (limited to 'yhttpd/src/ncur/ncur.h')
-rw-r--r--yhttpd/src/ncur/ncur.h51
1 files changed, 51 insertions, 0 deletions
diff --git a/yhttpd/src/ncur/ncur.h b/yhttpd/src/ncur/ncur.h
new file mode 100644
index 0000000..1830cdf
--- /dev/null
+++ b/yhttpd/src/ncur/ncur.h
@@ -0,0 +1,51 @@
+#include "../incl.h"
+
+#ifdef NCURSES
+
+#ifndef NCUR_H
+#define NCUR_H
+
+#include <ncurses.h>
+#include <list>
+
+#include "menu.h"
+#include "../thrd/thro.h"
+
+using namespace std;
+
+class ncur : public thro
+{
+private:
+ friend class sign;
+ menu* p_menu;
+ WINDOW* p_serveroutput;
+ list<char*>* p_messagelist; // contains the messages for p_serveroutput!
+ int i_message_length; // the maximum length of a system message!
+ bool b_is_ready; // is set to TRUE if the admin interface is initialized.
+ static void init_ncurses();
+ static void close_ncurses();
+
+ pthread_mutex_t mut_messages;
+ pthread_mutex_t mut_is_ready;
+
+public:
+ ncur();
+ ~ncur();
+
+ void start( void *p_void );
+ void print( char* c_print );
+ void print( string s_msg );
+ void print( string* p_msg );
+ void is_ready( bool b_is_ready );
+ bool is_ready();
+ static void switch_main_menu_( int i_choice );
+ void shutdown();
+
+ void activate_menu_win()
+ {
+ p_menu->activate_menu_win();
+ }
+};
+
+#endif
+#endif