00001 #include <gtk/gtk.h>
00002 #include "account.h"
00003 #include "service.h"
00004
00005 #ifndef __CHAT_ROOM_H__
00006 #define __CHAT_ROOM_H__
00007
00008 typedef struct _eb_chat_room_buddy
00009 {
00010 gchar alias[255];
00011 gchar handle[255];
00012 } eb_chat_room_buddy;
00013
00014 typedef struct _eb_chat_room
00015 {
00016 gboolean connected;
00017 gchar id[255];
00018 int service_id;
00019 gchar room_name[1024];
00020 GtkWidget * window;
00021 GtkWidget * conversation;
00022 GtkWidget * entry;
00023 GtkWidget * online;
00024
00025 GList * fellows;
00026 eb_local_account * chat_room_account;
00027 void *protocol_local_chat_room_data;
00028
00029
00030 gboolean sound_enabled;
00031 gboolean send_enabled;
00032 gboolean first_enabled;
00033 gboolean receive_enabled;
00034 gboolean first_message;
00035
00036
00037
00038
00039
00040 gboolean invite_window_is_open;
00041 GtkWidget * invite_window;
00042 GtkWidget * invite_buddy;
00043 GtkWidget * invite_message;
00044
00045
00046 } eb_chat_room;
00047
00048 #ifdef __cplusplus
00049 extern "C" {
00050 #endif
00051
00052 void eb_join_chat_room( eb_chat_room * chat_room );
00053 void eb_chat_room_show_3rdperson( eb_chat_room * chat_room, gchar * message);
00054 void eb_chat_room_show_message( eb_chat_room * chat_room, gchar * user, gchar * message );
00055 void eb_start_chat_room( gint service, gchar * name );
00056 void eb_chat_room_buddy_arrive( eb_chat_room * room, gchar * alias, gchar * handle );
00057 void eb_chat_room_buddy_leave( eb_chat_room * room, gchar * handle );
00058 gboolean eb_chat_room_buddy_connected( eb_chat_room * room, gchar * user );
00059 void open_join_chat_window();
00060
00061 #ifdef __cplusplus
00062 }
00063 #endif
00064
00065 #endif
00066