comparison src/conversation.h @ 10665:4829abdc5c35

[gaim-migrate @ 12205] and to oldstatus committer: Tailor Script <tailor@pidgin.im>
author Sean Egan <seanegan@gmail.com>
date Mon, 07 Mar 2005 18:36:34 +0000
parents c3a964f4fc61
children 4151d16f6348
comparison
equal deleted inserted replaced
10664:7244386075c6 10665:4829abdc5c35
77 GAIM_CONV_UPDATE_TYPING, /**< The typing state was updated. */ 77 GAIM_CONV_UPDATE_TYPING, /**< The typing state was updated. */
78 GAIM_CONV_UPDATE_UNSEEN, /**< The unseen state was updated. */ 78 GAIM_CONV_UPDATE_UNSEEN, /**< The unseen state was updated. */
79 GAIM_CONV_UPDATE_LOGGING, /**< Logging for this conversation was 79 GAIM_CONV_UPDATE_LOGGING, /**< Logging for this conversation was
80 enabled or disabled. */ 80 enabled or disabled. */
81 GAIM_CONV_UPDATE_TOPIC, /**< The topic for a chat was updated. */ 81 GAIM_CONV_UPDATE_TOPIC, /**< The topic for a chat was updated. */
82
83 /* 82 /*
84 * XXX These need to go when we implement a more generic core/UI event 83 * XXX These need to go when we implement a more generic core/UI event
85 * system. 84 * system.
86 */ 85 */
87 GAIM_CONV_ACCOUNT_ONLINE, /**< One of the user's accounts went online. */ 86 GAIM_CONV_ACCOUNT_ONLINE, /**< One of the user's accounts went online. */
88 GAIM_CONV_ACCOUNT_OFFLINE, /**< One of the user's accounts went offline. */ 87 GAIM_CONV_ACCOUNT_OFFLINE, /**< One of the user's accounts went offline. */
89 GAIM_CONV_UPDATE_AWAY, /**< The other user went away. */ 88 GAIM_CONV_UPDATE_AWAY, /**< The other user went away. */
90 GAIM_CONV_UPDATE_ICON, /**< The other user's buddy icon changed. */ 89 GAIM_CONV_UPDATE_ICON, /**< The other user's buddy icon changed. */
91 GAIM_CONV_UPDATE_TITLE, 90 GAIM_CONV_UPDATE_TITLE,
92 GAIM_CONV_UPDATE_CHATLEFT 91 GAIM_CONV_UPDATE_CHATLEFT,
92
93 GAIM_CONV_UPDATE_FEATURES, /**< The features for a chat have changed */
93 94
94 } GaimConvUpdateType; 95 } GaimConvUpdateType;
95 96
96 /** 97 /**
97 * The typing state of a user. 98 * The typing state of a user.
130 { 131 {
131 GAIM_CBFLAGS_NONE = 0x0000, /**< No flags */ 132 GAIM_CBFLAGS_NONE = 0x0000, /**< No flags */
132 GAIM_CBFLAGS_VOICE = 0x0001, /**< Voiced user or "Participant" */ 133 GAIM_CBFLAGS_VOICE = 0x0001, /**< Voiced user or "Participant" */
133 GAIM_CBFLAGS_HALFOP = 0x0002, /**< Half-op */ 134 GAIM_CBFLAGS_HALFOP = 0x0002, /**< Half-op */
134 GAIM_CBFLAGS_OP = 0x0004, /**< Channel Op or Moderator */ 135 GAIM_CBFLAGS_OP = 0x0004, /**< Channel Op or Moderator */
135 GAIM_CBFLAGS_FOUNDER = 0x0008 /**< Channel Founder */ 136 GAIM_CBFLAGS_FOUNDER = 0x0008, /**< Channel Founder */
137 GAIM_CBFLAGS_TYPING = 0x0010, /**< Currently typing */
138
136 139
137 } GaimConvChatBuddyFlags; 140 } GaimConvChatBuddyFlags;
138 141
139 #include "account.h" 142 #include "account.h"
140 #include "buddyicon.h" 143 #include "buddyicon.h"
162 void (*switch_conversation)(GaimConvWindow *win, unsigned int index); 165 void (*switch_conversation)(GaimConvWindow *win, unsigned int index);
163 void (*add_conversation)(GaimConvWindow *win, GaimConversation *conv); 166 void (*add_conversation)(GaimConvWindow *win, GaimConversation *conv);
164 void (*remove_conversation)(GaimConvWindow *win, GaimConversation *conv); 167 void (*remove_conversation)(GaimConvWindow *win, GaimConversation *conv);
165 void (*move_conversation)(GaimConvWindow *win, GaimConversation *conv, 168 void (*move_conversation)(GaimConvWindow *win, GaimConversation *conv,
166 unsigned int newIndex); 169 unsigned int newIndex);
170
167 int (*get_active_index)(const GaimConvWindow *win); 171 int (*get_active_index)(const GaimConvWindow *win);
168 gboolean (*has_focus)(GaimConvWindow *win); 172 gboolean (*has_focus)(GaimConvWindow *win);
169 }; 173 };
170 174
171 /** 175 /**
303 307
304 GaimConversationUiOps *ui_ops; /**< UI-specific operations. */ 308 GaimConversationUiOps *ui_ops; /**< UI-specific operations. */
305 void *ui_data; /**< UI-specific data. */ 309 void *ui_data; /**< UI-specific data. */
306 310
307 GHashTable *data; /**< Plugin-specific data. */ 311 GHashTable *data; /**< Plugin-specific data. */
312
313 GaimConnectionFlags features; /**< The supported features */
314
308 }; 315 };
309 316
310 typedef void (*GaimConvPlacementFunc)(GaimConversation *); 317 typedef void (*GaimConvPlacementFunc)(GaimConversation *);
311 318
312 #ifdef __cplusplus 319 #ifdef __cplusplus
493 * @param type The conversation type. 500 * @param type The conversation type.
494 * 501 *
495 * @return The window if found, or @c NULL if not found. 502 * @return The window if found, or @c NULL if not found.
496 */ 503 */
497 GaimConvWindow *gaim_get_first_window_with_type(GaimConversationType type); 504 GaimConvWindow *gaim_get_first_window_with_type(GaimConversationType type);
498
499 /** 505 /**
500 * Returns the last window containing a conversation of the specified type. 506 * Returns the last window containing a conversation of the specified type.
501 * 507 *
502 * @param type The conversation type. 508 * @param type The conversation type.
503 * 509 *
837 * 843 *
838 * @see gaim_conv_im_write() 844 * @see gaim_conv_im_write()
839 * @see gaim_conv_chat_write() 845 * @see gaim_conv_chat_write()
840 */ 846 */
841 void gaim_conversation_write(GaimConversation *conv, const char *who, 847 void gaim_conversation_write(GaimConversation *conv, const char *who,
842 const char *message, GaimMessageFlags flags, 848 const char *message, GaimMessageFlags flags,
843 time_t mtime); 849 time_t mtime);
850
851
852 /**
853 Set the features as supported for the given conversation.
854 @param conv The conversation
855 @param features Bitset defining supported features
856 */
857 void gaim_conversation_set_features(GaimConversation *conv,
858 GaimConnectionFlags features);
859
860
861 /**
862 Get the features supported by the given conversation.
863 @param conv The conversation
864 */
865 GaimConnectionFlags gaim_conversation_get_features(GaimConversation *conv);
866
844 867
845 /** 868 /**
846 * Updates the progress bar on a conversation window 869 * Updates the progress bar on a conversation window
847 * (if one exists in the UI). 870 * (if one exists in the UI).
848 * 871 *
1520 * 1543 *
1521 * @return A filled-out GaimConvWindowUiOps structure. 1544 * @return A filled-out GaimConvWindowUiOps structure.
1522 */ 1545 */
1523 GaimConvWindowUiOps *gaim_conversations_get_win_ui_ops(void); 1546 GaimConvWindowUiOps *gaim_conversations_get_win_ui_ops(void);
1524 1547
1548
1525 /*@}*/ 1549 /*@}*/
1526 1550
1527 /**************************************************************************/ 1551 /**************************************************************************/
1528 /** @name Conversations Subsystem */ 1552 /** @name Conversations Subsystem */
1529 /**************************************************************************/ 1553 /**************************************************************************/