added ncurses based display system (minimal and still full of bugs) :o
[my-code/ivac.git] / src / ivac.h
index bd427f0..9fb5263 100644 (file)
@@ -13,6 +13,7 @@
 #include "network.h"
 #include "event.h"
 #include "input.h"
+#include "display.h"
 
 /* defines */
 #define CHAR_USERNAME 32
 #define VIDEO (1<<1)
 #define DUPLEX (1<<2)
 
-#define COLUMN 80
-#define LINE 24
+#define IVAC_CONSOLE_STRING_LEN 64
+
+#define IVAC_HEAD_LEN 3
+#define IVAC_PROMPT_LEN 3
+#define IVAC_CONSOLE_LEN 8
 
 /* variables */
 typedef struct s_challenger {
@@ -51,7 +55,9 @@ typedef struct s_ivac {
   t_net net;
   t_event event;
   t_input input;
+  t_display display;
   t_challenger challenger[MAX_CONNECTIONS];
+  char console[IVAC_CONSOLE_LEN][IVAC_CONSOLE_STRING_LEN];
 } t_ivac;
 
 /* function prototypes */
@@ -61,8 +67,15 @@ int ivac_receive_info(int channel,t_ivac *ivac);
 int ivac_event_cb(t_event *event,void *ptr);
 int ivac_regular_cb(t_event *event,void *ptr);
 int ivac_parse_command(t_input *input,void *ptr);
-int ivac_display_head(void);
-int ivac_display_prompt(t_ivac *ivac);
-int ivac_display(t_ivac *ivac);
+int ivac_display_head(t_display *display);
+int ivac_display_box(t_display *display);
+int ivac_display_box_content(t_ivac *ivac);
+int ivac_display_console(t_display *display);
+int ivac_display_console_content(t_ivac *ivac);
+int ivac_display_prompt(t_display *display);
+int ivac_display_prompt_content(t_ivac *ivac);
+int ivac_display(t_display *display);
+int ivac_display_content(t_ivac *ivac);
+int ivac_add_to_monitor(t_ivac *ivac,char *msg);
 
 #endif