Usermode/irc - Rework into multiple files
[tpg/acess2.git] / Usermode / Applications / irc_src / window.h
1 /*
2  */
3 #ifndef _WINDOW_H_
4 #define _WINDOW_H_
5
6 #include "common.h"
7 #include "message.h"
8 #include <stdbool.h>
9
10 typedef struct sWindow  tWindow;
11 extern void     Windows_RepaintCurrent(void);
12
13 extern void     Windows_SetStatusServer(tServer *Server);
14 extern tWindow  *Window_Create(tServer *Server, const char *Name);
15 extern tWindow  *Windows_GetByIndex(int Index);
16 extern tWindow  *Windows_GetByName(tServer *Server, const char *Name);
17 static inline tWindow   *Windows_GetByNameOrCreate(tServer *Server, const char *Name) {
18         return Window_Create(Server, Name);
19 }
20 extern void     Windows_SwitchTo(tWindow *Window);
21
22 extern void     Window_AppendMessage(tWindow *Window, enum eMessageClass Class, const char *Source, const char *Message, ...)
23         __attribute__((format(__printf__,4,5)));
24 extern void     Window_AppendMsg_Join(tWindow *Window, const char *Usermask);
25 extern void     Window_AppendMsg_Quit(tWindow *Window, const char *Usermask, const char *Reason);
26 extern void     Window_AppendMsg_Part(tWindow *Window, const char *Usermask, const char *Reason);
27 extern void     Window_AppendMsg_Topic(tWindow *Window, const char *Topic);
28 extern void     Window_AppendMsg_TopicTime(tWindow *Window, const char *User, const char *Timestmap);
29
30 extern const char       *Window_GetName(const tWindow *Window);
31 extern tServer  *Window_GetServer(const tWindow *Window);
32 extern bool     Window_IsChat(const tWindow *Window);
33
34 #define WINDOW_STATUS   ((void*)-1)
35
36 #endif

UCC git Repository :: git.ucc.asn.au