Merge branch 'master' of git://cadel.mutabah.net/acess2
[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_Kick(tWindow *Window, const char *Operator, const char *Nick, const char *Reason);
28 extern void     Window_AppendMsg_Mode(tWindow *Window, const char *Operator, const char *Flags, const char *Args);
29 extern void     Window_AppendMsg_Topic(tWindow *Window, const char *Topic);
30 extern void     Window_AppendMsg_TopicTime(tWindow *Window, const char *User, const char *Timestmap);
31
32 extern const char       *Window_GetName(const tWindow *Window);
33 extern tServer  *Window_GetServer(const tWindow *Window);
34 extern bool     Window_IsChat(const tWindow *Window);
35
36 #define WINDOW_STATUS   ((void*)-1)
37
38 #endif

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