]> Pileus Git - ~andy/lamechat/blobdiff - chat.h
Cleanup xmpp users.
[~andy/lamechat] / chat.h
diff --git a/chat.h b/chat.h
index a11731723b539bf2151547d943b42d2349c57a02..38bcfda3824072968425f793e21723aa1efb492f 100644 (file)
--- a/chat.h
+++ b/chat.h
@@ -20,6 +20,7 @@ typedef unsigned long long stamp_t;
 
 typedef struct server_t  server_t;
 typedef struct channel_t channel_t;
+typedef struct user_t    user_t;
 
 typedef enum {
        IRC,
@@ -41,16 +42,24 @@ typedef struct channel_t {
        channel_t  *next;
 } channel_t;
 
+typedef struct user_t {
+       server_t   *server;
+       char       *name;
+       user_t     *alias;
+       user_t     *next;
+} user_t;
+
 typedef struct {
-       channel_t  *channel;
        stamp_t     when;
-       char       *from;
+       channel_t  *channel;
+       user_t     *from;
        char       *text;
 } message_t;
 
 /* Global Data */
 extern server_t  *servers;
 extern channel_t *channels;
+extern user_t    *users;
 extern message_t *messages;
 extern int        history;
 
@@ -58,28 +67,24 @@ extern int        history;
 void chat_init(void);
 void chat_config(const char *group, const char *name,
                  const char *key, const char *value);
-void chat_recv(channel_t *channel, const char *from, const char *text);
+void chat_recv(channel_t *channel, user_t *from, const char *text);
 void chat_send(channel_t *channel, const char *text);
 void chat_exit(void);
 
-server_t  *add_server(const char *name, protocol_t protocol);
-channel_t *add_channel(const char *name, server_t *server);
-server_t  *find_server(const char *name);
-channel_t *find_channel(const char *name);
+void add_server(server_t *server);
+void add_channel(channel_t *channel);
+void add_user(user_t *user);
 
-/* Protocol functions */
-extern void irc_init(void);
-extern server_t *irc_server(void);
-extern channel_t *irc_channel(void);
+/* IRC functions */
 extern void irc_config(server_t *server, channel_t *channel,
                        const char *group, const char *name,
                        const char *key, const char *value);
 extern void irc_send(channel_t *channel, const char *text);
 extern void irc_exit(void);
+extern void irc_init(void);
 
+/* XMPP functions */
 extern void xmpp_init(void);
-extern server_t *xmpp_server(void);
-extern channel_t *xmpp_channel(void);
 extern void xmpp_config(server_t *server, channel_t *channel,
                         const char *group, const char *name,
                         const char *key, const char *value);