Mercurial > pidgin
comparison src/conversation.h @ 5676:dae79aefac8d
[gaim-migrate @ 6094]
I've been meaning to do this for a LONG time. The conversation API now
follows the naming convention of the rest of the new APIs. I'll get some
g_return_*_if_fail() checks in there soon.
committer: Tailor Script <tailor@pidgin.im>
| author | Christian Hammond <chipx86@chipx86.com> |
|---|---|
| date | Mon, 02 Jun 2003 21:51:06 +0000 |
| parents | 9eb5b13fd412 |
| children | 1d140b31d4b3 |
comparison
equal
deleted
inserted
replaced
| 5675:17e345ffeddb | 5676:dae79aefac8d |
|---|---|
| 26 | 26 |
| 27 /**************************************************************************/ | 27 /**************************************************************************/ |
| 28 /** Data Structures */ | 28 /** Data Structures */ |
| 29 /**************************************************************************/ | 29 /**************************************************************************/ |
| 30 | 30 |
| 31 typedef enum _GaimConversationType GaimConversationType; | 31 typedef enum _GaimConversationType GaimConversationType; |
| 32 typedef enum _GaimUnseenState GaimUnseenState; | 32 typedef enum _GaimUnseenState GaimUnseenState; |
| 33 typedef enum _GaimConvUpdateType GaimConvUpdateType; | 33 typedef enum _GaimConvUpdateType GaimConvUpdateType; |
| 34 struct gaim_window_ui_ops; | 34 typedef struct _GaimWindowUiOps GaimWindowUiOps; |
| 35 struct gaim_window; | 35 typedef struct _GaimWindow GaimWindow; |
| 36 struct gaim_conversation; | 36 typedef struct _GaimConversationUiOps GaimConversationUiOps; |
| 37 struct gaim_im; | 37 typedef struct _GaimConversation GaimConversation; |
| 38 struct gaim_chat; | 38 typedef struct _GaimIm GaimIm; |
| 39 typedef struct _GaimChat GaimChat; | |
| 39 | 40 |
| 40 /** | 41 /** |
| 41 * A type of conversation. | 42 * A type of conversation. |
| 42 */ | 43 */ |
| 43 enum _GaimConversationType | 44 enum _GaimConversationType |
| 88 | 89 |
| 89 /** | 90 /** |
| 90 * Conversation window operations. | 91 * Conversation window operations. |
| 91 * | 92 * |
| 92 * Any UI representing a window must assign a filled-out gaim_window_ops | 93 * Any UI representing a window must assign a filled-out gaim_window_ops |
| 93 * structure to the gaim_window. | 94 * structure to the GaimWindow. |
| 94 */ | 95 */ |
| 95 struct gaim_window_ui_ops | 96 struct _GaimWindowUiOps |
| 96 { | 97 { |
| 97 struct gaim_conversation_ui_ops *(*get_conversation_ui_ops)(void); | 98 GaimConversationUiOps *(*get_conversation_ui_ops)(void); |
| 98 | 99 |
| 99 void (*new_window)(struct gaim_window *win); | 100 void (*new_window)(GaimWindow *win); |
| 100 void (*destroy_window)(struct gaim_window *win); | 101 void (*destroy_window)(GaimWindow *win); |
| 101 | 102 |
| 102 void (*show)(struct gaim_window *win); | 103 void (*show)(GaimWindow *win); |
| 103 void (*hide)(struct gaim_window *win); | 104 void (*hide)(GaimWindow *win); |
| 104 void (*raise)(struct gaim_window *win); | 105 void (*raise)(GaimWindow *win); |
| 105 void (*flash)(struct gaim_window *win); | 106 void (*flash)(GaimWindow *win); |
| 106 | 107 |
| 107 void (*switch_conversation)(struct gaim_window *win, unsigned int index); | 108 void (*switch_conversation)(GaimWindow *win, unsigned int index); |
| 108 void (*add_conversation)(struct gaim_window *win, | 109 void (*add_conversation)(GaimWindow *win, GaimConversation *conv); |
| 109 struct gaim_conversation *conv); | 110 void (*remove_conversation)(GaimWindow *win, GaimConversation *conv); |
| 110 void (*remove_conversation)(struct gaim_window *win, | 111 void (*move_conversation)(GaimWindow *win, GaimConversation *conv, |
| 111 struct gaim_conversation *conv); | |
| 112 void (*move_conversation)(struct gaim_window *win, | |
| 113 struct gaim_conversation *conv, | |
| 114 unsigned int newIndex); | 112 unsigned int newIndex); |
| 115 int (*get_active_index)(const struct gaim_window *win); | 113 int (*get_active_index)(const GaimWindow *win); |
| 116 }; | 114 }; |
| 117 | 115 |
| 118 /** | 116 /** |
| 119 * Conversation operations and events. | 117 * Conversation operations and events. |
| 120 * | 118 * |
| 121 * Any UI representing a conversation must assign a filled-out | 119 * Any UI representing a conversation must assign a filled-out |
| 122 * gaim_conversation_ui_ops structure to the gaim_conversation. | 120 * GaimConversationUiOps structure to the GaimConversation. |
| 123 */ | 121 */ |
| 124 struct gaim_conversation_ui_ops | 122 struct _GaimConversationUiOps |
| 125 { | 123 { |
| 126 void (*destroy_conversation)(struct gaim_conversation *conv); | 124 void (*destroy_conversation)(GaimConversation *conv); |
| 127 void (*write_chat)(struct gaim_conversation *conv, const char *who, | 125 void (*write_chat)(GaimConversation *conv, const char *who, |
| 128 const char *message, int flags, time_t mtime); | 126 const char *message, int flags, time_t mtime); |
| 129 void (*write_im)(struct gaim_conversation *conv, const char *who, | 127 void (*write_im)(GaimConversation *conv, const char *who, |
| 130 const char *message, size_t len, int flags, time_t mtime); | 128 const char *message, size_t len, int flags, time_t mtime); |
| 131 void (*write_conv)(struct gaim_conversation *conv, const char *who, | 129 void (*write_conv)(GaimConversation *conv, const char *who, |
| 132 const char *message, size_t length, int flags, | 130 const char *message, size_t length, int flags, |
| 133 time_t mtime); | 131 time_t mtime); |
| 134 | 132 |
| 135 void (*chat_add_user)(struct gaim_conversation *conv, const char *user); | 133 void (*chat_add_user)(GaimConversation *conv, const char *user); |
| 136 void (*chat_rename_user)(struct gaim_conversation *conv, | 134 void (*chat_rename_user)(GaimConversation *conv, |
| 137 const char *old_name, const char *new_name); | 135 const char *old_name, const char *new_name); |
| 138 void (*chat_remove_user)(struct gaim_conversation *conv, const char *user); | 136 void (*chat_remove_user)(GaimConversation *conv, const char *user); |
| 139 | 137 |
| 140 void (*set_title)(struct gaim_conversation *conv, | 138 void (*set_title)(GaimConversation *conv, const char *title); |
| 141 const char *title); | 139 void (*update_progress)(GaimConversation *conv, float percent); |
| 142 void (*update_progress)(struct gaim_conversation *conv, float percent); | |
| 143 | 140 |
| 144 /* Events */ | 141 /* Events */ |
| 145 void (*updated)(struct gaim_conversation *conv, GaimConvUpdateType type); | 142 void (*updated)(GaimConversation *conv, GaimConvUpdateType type); |
| 146 }; | 143 }; |
| 147 | 144 |
| 148 /** | 145 /** |
| 149 * A core representation of a graphical window containing one or more | 146 * A core representation of a graphical window containing one or more |
| 150 * conversations. | 147 * conversations. |
| 151 */ | 148 */ |
| 152 struct gaim_window | 149 struct _GaimWindow |
| 153 { | 150 { |
| 154 GList *conversations; /**< The conversations in the window. */ | 151 GList *conversations; /**< The conversations in the window. */ |
| 155 size_t conversation_count; /**< The number of conversations. */ | 152 size_t conversation_count; /**< The number of conversations. */ |
| 156 | 153 |
| 157 struct gaim_window_ui_ops *ui_ops; /**< UI-specific window operations. */ | 154 GaimWindowUiOps *ui_ops; /**< UI-specific window operations. */ |
| 158 void *ui_data; /**< UI-specific data. */ | 155 void *ui_data; /**< UI-specific data. */ |
| 159 }; | 156 }; |
| 160 | 157 |
| 161 /** | 158 /** |
| 162 * Data specific to Instant Messages. | 159 * Data specific to Instant Messages. |
| 163 */ | 160 */ |
| 164 struct gaim_im | 161 struct _GaimIm |
| 165 { | 162 { |
| 166 struct gaim_conversation *conv; /**< The parent conversation. */ | 163 GaimConversation *conv; /**< The parent conversation. */ |
| 167 | 164 |
| 168 int typing_state; /**< The current typing state. */ | 165 int typing_state; /**< The current typing state. */ |
| 169 guint typing_timeout; /**< The typing timer handle. */ | 166 guint typing_timeout; /**< The typing timer handle. */ |
| 170 time_t type_again; /**< The type again time. */ | 167 time_t type_again; /**< The type again time. */ |
| 171 guint type_again_timeout; /**< The type again timer handle. */ | 168 guint type_again_timeout; /**< The type again timer handle. */ |
| 174 }; | 171 }; |
| 175 | 172 |
| 176 /** | 173 /** |
| 177 * Data specific to Chats. | 174 * Data specific to Chats. |
| 178 */ | 175 */ |
| 179 struct gaim_chat | 176 struct _GaimChat |
| 180 { | 177 { |
| 181 struct gaim_conversation *conv; /**< The parent conversation. */ | 178 GaimConversation *conv; /**< The parent conversation. */ |
| 182 | 179 |
| 183 GList *in_room; /**< The users in the room. */ | 180 GList *in_room; /**< The users in the room. */ |
| 184 GList *ignored; /**< Ignored users. */ | 181 GList *ignored; /**< Ignored users. */ |
| 185 char *who; /**< The person who set the topic. */ | 182 char *who; /**< The person who set the topic. */ |
| 186 char *topic; /**< The topic. */ | 183 char *topic; /**< The topic. */ |
| 189 | 186 |
| 190 /** | 187 /** |
| 191 * A core representation of a conversation between two or more people. | 188 * A core representation of a conversation between two or more people. |
| 192 * | 189 * |
| 193 * The conversation can be an IM or a chat. Each conversation is kept | 190 * The conversation can be an IM or a chat. Each conversation is kept |
| 194 * in a gaim_window and has a UI representation. | 191 * in a GaimWindow and has a UI representation. |
| 195 */ | 192 */ |
| 196 struct gaim_conversation | 193 struct _GaimConversation |
| 197 { | 194 { |
| 198 GaimConversationType type; /**< The type of conversation. */ | 195 GaimConversationType type; /**< The type of conversation. */ |
| 199 | 196 |
| 200 GaimAccount *account; /**< The user using this conversation. */ | 197 GaimAccount *account; /**< The user using this conversation. */ |
| 201 struct gaim_window *window; /**< The parent window. */ | 198 GaimWindow *window; /**< The parent window. */ |
| 202 | 199 |
| 203 int conversation_pos; /**< The position in the window's list. */ | 200 int conversation_pos; /**< The position in the window's list. */ |
| 204 | 201 |
| 205 char *name; /**< The name of the conversation. */ | 202 char *name; /**< The name of the conversation. */ |
| 206 char *title; /**< The window title. */ | 203 char *title; /**< The window title. */ |
| 212 | 209 |
| 213 GaimUnseenState unseen; /**< The unseen tab state. */ | 210 GaimUnseenState unseen; /**< The unseen tab state. */ |
| 214 | 211 |
| 215 union | 212 union |
| 216 { | 213 { |
| 217 struct gaim_im *im; /**< IM-specific data. */ | 214 GaimIm *im; /**< IM-specific data. */ |
| 218 struct gaim_chat *chat; /**< Chat-specific data. */ | 215 GaimChat *chat; /**< Chat-specific data. */ |
| 219 void *misc; /**< Misc. data. */ | 216 void *misc; /**< Misc. data. */ |
| 220 | 217 |
| 221 } u; | 218 } u; |
| 222 | 219 |
| 223 struct gaim_conversation_ui_ops *ui_ops; /**< UI-specific operations. */ | 220 GaimConversationUiOps *ui_ops; /**< UI-specific operations. */ |
| 224 void *ui_data; /**< UI-specific data. */ | 221 void *ui_data; /**< UI-specific data. */ |
| 225 | 222 |
| 226 GHashTable *data; /**< Plugin-specific data. */ | 223 GHashTable *data; /**< Plugin-specific data. */ |
| 227 }; | 224 }; |
| 228 | 225 |
| 229 typedef void (*gaim_conv_placement_fnc)(struct gaim_conversation *); | 226 typedef void (*GaimConvPlacementFunc)(GaimConversation *); |
| 230 | 227 |
| 231 /**************************************************************************/ | 228 /**************************************************************************/ |
| 232 /** @name Conversation Window API */ | 229 /** @name Conversation Window API */ |
| 233 /**************************************************************************/ | 230 /**************************************************************************/ |
| 234 /*@{*/ | 231 /*@{*/ |
| 239 * This window is added to the list of windows, but is not shown until | 236 * This window is added to the list of windows, but is not shown until |
| 240 * gaim_window_show() is called. | 237 * gaim_window_show() is called. |
| 241 * | 238 * |
| 242 * @return The new conversation window. | 239 * @return The new conversation window. |
| 243 */ | 240 */ |
| 244 struct gaim_window *gaim_window_new(void); | 241 GaimWindow *gaim_window_new(void); |
| 245 | 242 |
| 246 /** | 243 /** |
| 247 * Destroys the specified conversation window and all conversations in it. | 244 * Destroys the specified conversation window and all conversations in it. |
| 248 * | 245 * |
| 249 * @param win The window to destroy. | 246 * @param win The window to destroy. |
| 250 */ | 247 */ |
| 251 void gaim_window_destroy(struct gaim_window *win); | 248 void gaim_window_destroy(GaimWindow *win); |
| 252 | 249 |
| 253 /** | 250 /** |
| 254 * Shows the specified conversation window. | 251 * Shows the specified conversation window. |
| 255 * | 252 * |
| 256 * @param win The window. | 253 * @param win The window. |
| 257 */ | 254 */ |
| 258 void gaim_window_show(struct gaim_window *win); | 255 void gaim_window_show(GaimWindow *win); |
| 259 | 256 |
| 260 /** | 257 /** |
| 261 * Hides the specified conversation window. | 258 * Hides the specified conversation window. |
| 262 * | 259 * |
| 263 * @param win The window. | 260 * @param win The window. |
| 264 */ | 261 */ |
| 265 void gaim_window_hide(struct gaim_window *win); | 262 void gaim_window_hide(GaimWindow *win); |
| 266 | 263 |
| 267 /** | 264 /** |
| 268 * Raises the specified conversation window. | 265 * Raises the specified conversation window. |
| 269 * | 266 * |
| 270 * @param win The window. | 267 * @param win The window. |
| 271 */ | 268 */ |
| 272 void gaim_window_raise(struct gaim_window *win); | 269 void gaim_window_raise(GaimWindow *win); |
| 273 | 270 |
| 274 /** | 271 /** |
| 275 * Causes the window to flash for IM notification, if the UI supports this. | 272 * Causes the window to flash for IM notification, if the UI supports this. |
| 276 * | 273 * |
| 277 * @param win The window. | 274 * @param win The window. |
| 278 */ | 275 */ |
| 279 void gaim_window_flash(struct gaim_window *win); | 276 void gaim_window_flash(GaimWindow *win); |
| 280 | 277 |
| 281 /** | 278 /** |
| 282 * Sets the specified window's UI window operations structure. | 279 * Sets the specified window's UI window operations structure. |
| 283 * | 280 * |
| 284 * @param win The window. | 281 * @param win The window. |
| 285 * @param ops The UI window operations structure. | 282 * @param ops The UI window operations structure. |
| 286 */ | 283 */ |
| 287 void gaim_window_set_ui_ops(struct gaim_window *win, | 284 void gaim_window_set_ui_ops(GaimWindow *win, GaimWindowUiOps *ops); |
| 288 struct gaim_window_ui_ops *ops); | |
| 289 | 285 |
| 290 /** | 286 /** |
| 291 * Returns the specified window's UI window operations structure. | 287 * Returns the specified window's UI window operations structure. |
| 292 * | 288 * |
| 293 * @param win The window. | 289 * @param win The window. |
| 294 * | 290 * |
| 295 * @return The UI window operations structure. | 291 * @return The UI window operations structure. |
| 296 */ | 292 */ |
| 297 struct gaim_window_ui_ops *gaim_window_get_ui_ops( | 293 GaimWindowUiOps *gaim_window_get_ui_ops(const GaimWindow *win); |
| 298 const struct gaim_window *win); | |
| 299 | 294 |
| 300 /** | 295 /** |
| 301 * Adds a conversation to this window. | 296 * Adds a conversation to this window. |
| 302 * | 297 * |
| 303 * If the conversation already has a parent window, this will do nothing. | 298 * If the conversation already has a parent window, this will do nothing. |
| 305 * @param win The window. | 300 * @param win The window. |
| 306 * @param conv The conversation. | 301 * @param conv The conversation. |
| 307 * | 302 * |
| 308 * @return The new index of the conversation in the window. | 303 * @return The new index of the conversation in the window. |
| 309 */ | 304 */ |
| 310 int gaim_window_add_conversation(struct gaim_window *win, | 305 int gaim_window_add_conversation(GaimWindow *win, GaimConversation *conv); |
| 311 struct gaim_conversation *conv); | |
| 312 | 306 |
| 313 /** | 307 /** |
| 314 * Removes the conversation at the specified index from the window. | 308 * Removes the conversation at the specified index from the window. |
| 315 * | 309 * |
| 316 * If there is no conversation at this index, this will do nothing. | 310 * If there is no conversation at this index, this will do nothing. |
| 318 * @param win The window. | 312 * @param win The window. |
| 319 * @param index The index of the conversation. | 313 * @param index The index of the conversation. |
| 320 * | 314 * |
| 321 * @return The conversation removed. | 315 * @return The conversation removed. |
| 322 */ | 316 */ |
| 323 struct gaim_conversation *gaim_window_remove_conversation( | 317 GaimConversation *gaim_window_remove_conversation(GaimWindow *win, |
| 324 struct gaim_window *win, unsigned int index); | 318 unsigned int index); |
| 325 | 319 |
| 326 /** | 320 /** |
| 327 * Moves the conversation at the specified index in a window to a new index. | 321 * Moves the conversation at the specified index in a window to a new index. |
| 328 * | 322 * |
| 329 * @param win The window. | 323 * @param win The window. |
| 330 * @param index The index of the conversation to move. | 324 * @param index The index of the conversation to move. |
| 331 * @param new_index The new index. | 325 * @param new_index The new index. |
| 332 */ | 326 */ |
| 333 void gaim_window_move_conversation(struct gaim_window *win, | 327 void gaim_window_move_conversation(GaimWindow *win, unsigned int index, |
| 334 unsigned int index, unsigned int new_index); | 328 unsigned int new_index); |
| 335 | 329 |
| 336 /** | 330 /** |
| 337 * Returns the conversation in the window at the specified index. | 331 * Returns the conversation in the window at the specified index. |
| 338 * | 332 * |
| 339 * If the index is out of range, this returns @c NULL. | 333 * If the index is out of range, this returns @c NULL. |
| 341 * @param win The window. | 335 * @param win The window. |
| 342 * @param index The index containing a conversation. | 336 * @param index The index containing a conversation. |
| 343 * | 337 * |
| 344 * @return The conversation at the specified index. | 338 * @return The conversation at the specified index. |
| 345 */ | 339 */ |
| 346 struct gaim_conversation *gaim_window_get_conversation_at( | 340 GaimConversation *gaim_window_get_conversation_at(const GaimWindow *win, |
| 347 const struct gaim_window *win, unsigned int index); | 341 unsigned int index); |
| 348 | 342 |
| 349 /** | 343 /** |
| 350 * Returns the number of conversations in the window. | 344 * Returns the number of conversations in the window. |
| 351 * | 345 * |
| 352 * @param win The window. | 346 * @param win The window. |
| 353 * | 347 * |
| 354 * @return The number of conversations. | 348 * @return The number of conversations. |
| 355 */ | 349 */ |
| 356 size_t gaim_window_get_conversation_count(const struct gaim_window *win); | 350 size_t gaim_window_get_conversation_count(const GaimWindow *win); |
| 357 | 351 |
| 358 /** | 352 /** |
| 359 * Switches the active conversation to the one at the specified index. | 353 * Switches the active conversation to the one at the specified index. |
| 360 * | 354 * |
| 361 * If @a index is out of range, this does nothing. | 355 * If @a index is out of range, this does nothing. |
| 362 * | 356 * |
| 363 * @param win The window. | 357 * @param win The window. |
| 364 * @param index The new index. | 358 * @param index The new index. |
| 365 */ | 359 */ |
| 366 void gaim_window_switch_conversation(struct gaim_window *win, | 360 void gaim_window_switch_conversation(GaimWindow *win, unsigned int index); |
| 367 unsigned int index); | |
| 368 | 361 |
| 369 /** | 362 /** |
| 370 * Returns the active conversation in the window. | 363 * Returns the active conversation in the window. |
| 371 * | 364 * |
| 372 * @param win The window. | 365 * @param win The window. |
| 373 * | 366 * |
| 374 * @return The active conversation. | 367 * @return The active conversation. |
| 375 */ | 368 */ |
| 376 struct gaim_conversation *gaim_window_get_active_conversation( | 369 GaimConversation *gaim_window_get_active_conversation(const GaimWindow *win); |
| 377 const struct gaim_window *win); | |
| 378 | 370 |
| 379 /** | 371 /** |
| 380 * Returns the list of conversations in the specified window. | 372 * Returns the list of conversations in the specified window. |
| 381 * | 373 * |
| 382 * @param win The window. | 374 * @param win The window. |
| 383 * | 375 * |
| 384 * @return The list of conversations. | 376 * @return The list of conversations. |
| 385 */ | 377 */ |
| 386 GList *gaim_window_get_conversations(const struct gaim_window *win); | 378 GList *gaim_window_get_conversations(const GaimWindow *win); |
| 387 | 379 |
| 388 /** | 380 /** |
| 389 * Returns a list of all windows. | 381 * Returns a list of all windows. |
| 390 * | 382 * |
| 391 * @return A list of windows. | 383 * @return A list of windows. |
| 397 * | 389 * |
| 398 * @param type The conversation type. | 390 * @param type The conversation type. |
| 399 * | 391 * |
| 400 * @return The window if found, or @c NULL if not found. | 392 * @return The window if found, or @c NULL if not found. |
| 401 */ | 393 */ |
| 402 struct gaim_window *gaim_get_first_window_with_type(GaimConversationType type); | 394 GaimWindow *gaim_get_first_window_with_type(GaimConversationType type); |
| 403 | 395 |
| 404 /** | 396 /** |
| 405 * Returns the last window containing a conversation of the specified type. | 397 * Returns the last window containing a conversation of the specified type. |
| 406 * | 398 * |
| 407 * @param type The conversation type. | 399 * @param type The conversation type. |
| 408 * | 400 * |
| 409 * @return The window if found, or @c NULL if not found. | 401 * @return The window if found, or @c NULL if not found. |
| 410 */ | 402 */ |
| 411 struct gaim_window *gaim_get_last_window_with_type(GaimConversationType type); | 403 GaimWindow *gaim_get_last_window_with_type(GaimConversationType type); |
| 412 | 404 |
| 413 /*@}*/ | 405 /*@}*/ |
| 414 | 406 |
| 415 /**************************************************************************/ | 407 /**************************************************************************/ |
| 416 /** @name Conversation API */ | 408 /** @name Conversation API */ |
| 425 * user's end. | 417 * user's end. |
| 426 * @param name The name of the conversation. | 418 * @param name The name of the conversation. |
| 427 * | 419 * |
| 428 * @return The new conversation. | 420 * @return The new conversation. |
| 429 */ | 421 */ |
| 430 struct gaim_conversation *gaim_conversation_new(GaimConversationType type, | 422 GaimConversation *gaim_conversation_new(GaimConversationType type, |
| 431 GaimAccount *account, | 423 GaimAccount *account, |
| 432 const char *name); | 424 const char *name); |
| 433 | 425 |
| 434 /** | 426 /** |
| 435 * Destroys the specified conversation and removes it from the parent | 427 * Destroys the specified conversation and removes it from the parent |
| 436 * window. | 428 * window. |
| 437 * | 429 * |
| 438 * If this conversation is the only one contained in the parent window, | 430 * If this conversation is the only one contained in the parent window, |
| 439 * that window is also destroyed. | 431 * that window is also destroyed. |
| 440 * | 432 * |
| 441 * @param conv The conversation to destroy. | 433 * @param conv The conversation to destroy. |
| 442 */ | 434 */ |
| 443 void gaim_conversation_destroy(struct gaim_conversation *conv); | 435 void gaim_conversation_destroy(GaimConversation *conv); |
| 444 | 436 |
| 445 /** | 437 /** |
| 446 * Returns the specified conversation's type. | 438 * Returns the specified conversation's type. |
| 447 * | 439 * |
| 448 * @param conv The conversation. | 440 * @param conv The conversation. |
| 449 * | 441 * |
| 450 * @return The conversation's type. | 442 * @return The conversation's type. |
| 451 */ | 443 */ |
| 452 GaimConversationType gaim_conversation_get_type( | 444 GaimConversationType gaim_conversation_get_type(const GaimConversation *conv); |
| 453 const struct gaim_conversation *conv); | |
| 454 | 445 |
| 455 /** | 446 /** |
| 456 * Sets the specified conversation's UI operations structure. | 447 * Sets the specified conversation's UI operations structure. |
| 457 * | 448 * |
| 458 * @param conv The conversation. | 449 * @param conv The conversation. |
| 459 * @param ops The UI conversation operations structure. | 450 * @param ops The UI conversation operations structure. |
| 460 */ | 451 */ |
| 461 void gaim_conversation_set_ui_ops(struct gaim_conversation *conv, | 452 void gaim_conversation_set_ui_ops(GaimConversation *conv, |
| 462 struct gaim_conversation_ui_ops *ops); | 453 GaimConversationUiOps *ops); |
| 463 | 454 |
| 464 /** | 455 /** |
| 465 * Returns the specified conversation's UI operations structure. | 456 * Returns the specified conversation's UI operations structure. |
| 466 * | 457 * |
| 467 * @param conv The conversation. | 458 * @param conv The conversation. |
| 468 * | 459 * |
| 469 * @return The operations structure. | 460 * @return The operations structure. |
| 470 */ | 461 */ |
| 471 struct gaim_conversation_ui_ops *gaim_conversation_get_ui_ops( | 462 GaimConversationUiOps *gaim_conversation_get_ui_ops( |
| 472 struct gaim_conversation *conv); | 463 const GaimConversation *conv); |
| 473 | 464 |
| 474 /** | 465 /** |
| 475 * Sets the specified conversation's gaim_account. | 466 * Sets the specified conversation's gaim_account. |
| 476 * | 467 * |
| 477 * This gaim_account represents the user using gaim, not the person the user | 468 * This gaim_account represents the user using gaim, not the person the user |
| 478 * is having a conversation/chat/flame with. | 469 * is having a conversation/chat/flame with. |
| 479 * | 470 * |
| 480 * @param conv The conversation. | 471 * @param conv The conversation. |
| 481 * @param account The gaim_account. | 472 * @param account The gaim_account. |
| 482 */ | 473 */ |
| 483 void gaim_conversation_set_account(struct gaim_conversation *conv, | 474 void gaim_conversation_set_account(GaimConversation *conv, |
| 484 GaimAccount *account); | 475 GaimAccount *account); |
| 485 | 476 |
| 486 /** | 477 /** |
| 487 * Returns the specified conversation's gaim_account. | 478 * Returns the specified conversation's gaim_account. |
| 488 * | 479 * |
| 489 * This gaim_account represents the user using gaim, not the person the user | 480 * This gaim_account represents the user using gaim, not the person the user |
| 491 * | 482 * |
| 492 * @param conv The conversation. | 483 * @param conv The conversation. |
| 493 * | 484 * |
| 494 * @return The conversation's gaim_account. | 485 * @return The conversation's gaim_account. |
| 495 */ | 486 */ |
| 496 GaimAccount *gaim_conversation_get_account( | 487 GaimAccount *gaim_conversation_get_account(const GaimConversation *conv); |
| 497 const struct gaim_conversation *conv); | |
| 498 | 488 |
| 499 /** | 489 /** |
| 500 * Returns the specified conversation's gaim_connection. | 490 * Returns the specified conversation's gaim_connection. |
| 501 * | 491 * |
| 502 * This is the same as gaim_conversation_get_user(conv)->gc. | 492 * This is the same as gaim_conversation_get_user(conv)->gc. |
| 503 * | 493 * |
| 504 * @param conv The conversation. | 494 * @param conv The conversation. |
| 505 * | 495 * |
| 506 * @return The conversation's gaim_connection. | 496 * @return The conversation's gaim_connection. |
| 507 */ | 497 */ |
| 508 GaimConnection *gaim_conversation_get_gc( | 498 GaimConnection *gaim_conversation_get_gc(const GaimConversation *conv); |
| 509 const struct gaim_conversation *conv); | |
| 510 | 499 |
| 511 /** | 500 /** |
| 512 * Sets the specified conversation's title. | 501 * Sets the specified conversation's title. |
| 513 * | 502 * |
| 514 * @param conv The conversation. | 503 * @param conv The conversation. |
| 515 * @param title The title. | 504 * @param title The title. |
| 516 */ | 505 */ |
| 517 void gaim_conversation_set_title(struct gaim_conversation *conv, | 506 void gaim_conversation_set_title(GaimConversation *conv, const char *title); |
| 518 const char *title); | |
| 519 | 507 |
| 520 /** | 508 /** |
| 521 * Returns the specified conversation's title. | 509 * Returns the specified conversation's title. |
| 522 * | 510 * |
| 523 * @param win The conversation. | 511 * @param win The conversation. |
| 524 * | 512 * |
| 525 * @return The title. | 513 * @return The title. |
| 526 */ | 514 */ |
| 527 const char *gaim_conversation_get_title(const struct gaim_conversation *conv); | 515 const char *gaim_conversation_get_title(const GaimConversation *conv); |
| 528 | 516 |
| 529 /** | 517 /** |
| 530 * Automatically sets the specified conversation's title. | 518 * Automatically sets the specified conversation's title. |
| 531 * | 519 * |
| 532 * This function takes OPT_IM_ALIAS_TAB into account, as well as the | 520 * This function takes OPT_IM_ALIAS_TAB into account, as well as the |
| 533 * user's alias. | 521 * user's alias. |
| 534 * | 522 * |
| 535 * @param conv The conversation. | 523 * @param conv The conversation. |
| 536 */ | 524 */ |
| 537 void gaim_conversation_autoset_title(struct gaim_conversation *conv); | 525 void gaim_conversation_autoset_title(GaimConversation *conv); |
| 538 | 526 |
| 539 /** | 527 /** |
| 540 * Returns the specified conversation's index in the parent window. | 528 * Returns the specified conversation's index in the parent window. |
| 541 * | 529 * |
| 542 * @param conv The conversation. | 530 * @param conv The conversation. |
| 543 * | 531 * |
| 544 * @return The current index in the parent window. | 532 * @return The current index in the parent window. |
| 545 */ | 533 */ |
| 546 int gaim_conversation_get_index(const struct gaim_conversation *conv); | 534 int gaim_conversation_get_index(const GaimConversation *conv); |
| 547 | 535 |
| 548 /** | 536 /** |
| 549 * Sets the conversation's unseen state. | 537 * Sets the conversation's unseen state. |
| 550 * | 538 * |
| 551 * @param conv The conversation. | 539 * @param conv The conversation. |
| 552 * @param state The new unseen state. | 540 * @param state The new unseen state. |
| 553 */ | 541 */ |
| 554 void gaim_conversation_set_unseen(struct gaim_conversation *conv, | 542 void gaim_conversation_set_unseen(GaimConversation *conv, |
| 555 GaimUnseenState state); | 543 GaimUnseenState state); |
| 556 | 544 |
| 557 /** | 545 /** |
| 558 * Returns the conversation's unseen state. | 546 * Returns the conversation's unseen state. |
| 559 * | 547 * |
| 560 * @param conv The conversation. | 548 * @param conv The conversation. |
| 561 * | 549 * |
| 562 * @param The conversation's unseen state. | 550 * @param The conversation's unseen state. |
| 563 */ | 551 */ |
| 564 GaimUnseenState gaim_conversation_get_unseen( | 552 GaimUnseenState gaim_conversation_get_unseen(const GaimConversation *conv); |
| 565 const struct gaim_conversation *conv); | |
| 566 | 553 |
| 567 /** | 554 /** |
| 568 * Returns the specified conversation's name. | 555 * Returns the specified conversation's name. |
| 569 * | 556 * |
| 570 * @param conv The conversation. | 557 * @param conv The conversation. |
| 571 * | 558 * |
| 572 * @return The conversation's name. | 559 * @return The conversation's name. |
| 573 */ | 560 */ |
| 574 const char *gaim_conversation_get_name(const struct gaim_conversation *conv); | 561 const char *gaim_conversation_get_name(const GaimConversation *conv); |
| 575 | 562 |
| 576 /** | 563 /** |
| 577 * Enables or disables logging for this conversation. | 564 * Enables or disables logging for this conversation. |
| 578 * | 565 * |
| 579 * @param log @c TRUE if logging should be enabled, or @c FALSE otherwise. | 566 * @param log @c TRUE if logging should be enabled, or @c FALSE otherwise. |
| 580 */ | 567 */ |
| 581 void gaim_conversation_set_logging(struct gaim_conversation *conv, | 568 void gaim_conversation_set_logging(GaimConversation *conv, gboolean log); |
| 582 gboolean log); | |
| 583 | 569 |
| 584 /** | 570 /** |
| 585 * Returns whether or not logging is enabled for this conversation. | 571 * Returns whether or not logging is enabled for this conversation. |
| 586 * | 572 * |
| 587 * @return @c TRUE if logging is enabled, or @c FALSE otherwise. | 573 * @return @c TRUE if logging is enabled, or @c FALSE otherwise. |
| 588 */ | 574 */ |
| 589 gboolean gaim_conversation_is_logging(const struct gaim_conversation *conv); | 575 gboolean gaim_conversation_is_logging(const GaimConversation *conv); |
| 590 | 576 |
| 591 /** | 577 /** |
| 592 * Returns the specified conversation's send history. | 578 * Returns the specified conversation's send history. |
| 593 * | 579 * |
| 594 * @param conv The conversation. | 580 * @param conv The conversation. |
| 595 * | 581 * |
| 596 * @return The conversation's send history. | 582 * @return The conversation's send history. |
| 597 */ | 583 */ |
| 598 GList *gaim_conversation_get_send_history( | 584 GList *gaim_conversation_get_send_history(const GaimConversation *conv); |
| 599 const struct gaim_conversation *conv); | |
| 600 | 585 |
| 601 /** | 586 /** |
| 602 * Sets the specified conversation's history. | 587 * Sets the specified conversation's history. |
| 603 * | 588 * |
| 604 * @param conv The conversation. | 589 * @param conv The conversation. |
| 605 * @param history The history. | 590 * @param history The history. |
| 606 */ | 591 */ |
| 607 void gaim_conversation_set_history(struct gaim_conversation *conv, | 592 void gaim_conversation_set_history(GaimConversation *conv, GString *history); |
| 608 GString *history); | |
| 609 | 593 |
| 610 /** | 594 /** |
| 611 * Returns the specified conversation's history. | 595 * Returns the specified conversation's history. |
| 612 * | 596 * |
| 613 * @param conv The conversation. | 597 * @param conv The conversation. |
| 614 * | 598 * |
| 615 * @return The conversation's history. | 599 * @return The conversation's history. |
| 616 */ | 600 */ |
| 617 GString *gaim_conversation_get_history(const struct gaim_conversation *conv); | 601 GString *gaim_conversation_get_history(const GaimConversation *conv); |
| 618 | 602 |
| 619 /** | 603 /** |
| 620 * Returns the specified conversation's parent window. | 604 * Returns the specified conversation's parent window. |
| 621 * | 605 * |
| 622 * @param conv The conversation. | 606 * @param conv The conversation. |
| 623 * | 607 * |
| 624 * @return The conversation's parent window. | 608 * @return The conversation's parent window. |
| 625 */ | 609 */ |
| 626 struct gaim_window *gaim_conversation_get_window( | 610 GaimWindow *gaim_conversation_get_window(const GaimConversation *conv); |
| 627 const struct gaim_conversation *conv); | |
| 628 | 611 |
| 629 /** | 612 /** |
| 630 * Returns the specified conversation's IM-specific data. | 613 * Returns the specified conversation's IM-specific data. |
| 631 * | 614 * |
| 632 * If the conversation type is not GAIM_CONV_IM, this will return @c NULL. | 615 * If the conversation type is not GAIM_CONV_IM, this will return @c NULL. |
| 633 * | 616 * |
| 634 * @param conv The conversation. | 617 * @param conv The conversation. |
| 635 * | 618 * |
| 636 * @return The IM-specific data. | 619 * @return The IM-specific data. |
| 637 */ | 620 */ |
| 638 struct gaim_im *gaim_conversation_get_im_data( | 621 GaimIm *gaim_conversation_get_im_data(const GaimConversation *conv); |
| 639 const struct gaim_conversation *conv); | |
| 640 | 622 |
| 641 #define GAIM_IM(c) (gaim_conversation_get_im_data(c)) | 623 #define GAIM_IM(c) (gaim_conversation_get_im_data(c)) |
| 642 | 624 |
| 643 /** | 625 /** |
| 644 * Returns the specified conversation's chat-specific data. | 626 * Returns the specified conversation's chat-specific data. |
| 647 * | 629 * |
| 648 * @param conv The conversation. | 630 * @param conv The conversation. |
| 649 * | 631 * |
| 650 * @return The chat-specific data. | 632 * @return The chat-specific data. |
| 651 */ | 633 */ |
| 652 struct gaim_chat *gaim_conversation_get_chat_data( | 634 GaimChat *gaim_conversation_get_chat_data(const GaimConversation *conv); |
| 653 const struct gaim_conversation *conv); | |
| 654 | 635 |
| 655 #define GAIM_CHAT(c) (gaim_conversation_get_chat_data(c)) | 636 #define GAIM_CHAT(c) (gaim_conversation_get_chat_data(c)) |
| 656 | 637 |
| 657 /** | 638 /** |
| 658 * Sets extra data for a conversation. | 639 * Sets extra data for a conversation. |
| 659 * | 640 * |
| 660 * @param conv The conversation. | 641 * @param conv The conversation. |
| 661 * @param key The unique key. | 642 * @param key The unique key. |
| 662 * @param data The data to assign. | 643 * @param data The data to assign. |
| 663 */ | 644 */ |
| 664 void gaim_conversation_set_data(struct gaim_conversation *conv, | 645 void gaim_conversation_set_data(GaimConversation *conv, const char *key, |
| 665 const char *key, gpointer data); | 646 gpointer data); |
| 666 | 647 |
| 667 /** | 648 /** |
| 668 * Returns extra data in a conversation. | 649 * Returns extra data in a conversation. |
| 669 * | 650 * |
| 670 * @param conv The conversation. | 651 * @param conv The conversation. |
| 671 * @param key The unqiue key. | 652 * @param key The unqiue key. |
| 672 * | 653 * |
| 673 * @return The data associated with the key. | 654 * @return The data associated with the key. |
| 674 */ | 655 */ |
| 675 gpointer gaim_conversation_get_data(struct gaim_conversation *conv, | 656 gpointer gaim_conversation_get_data(GaimConversation *conv, const char *key); |
| 676 const char *key); | |
| 677 | 657 |
| 678 /** | 658 /** |
| 679 * Returns a list of all conversations. | 659 * Returns a list of all conversations. |
| 680 * | 660 * |
| 681 * This list includes both IMs and chats. | 661 * This list includes both IMs and chats. |
| 703 * | 683 * |
| 704 * @param name The name of the conversation. | 684 * @param name The name of the conversation. |
| 705 * | 685 * |
| 706 * @return The conversation if found, or @c NULL otherwise. | 686 * @return The conversation if found, or @c NULL otherwise. |
| 707 */ | 687 */ |
| 708 struct gaim_conversation *gaim_find_conversation(const char *name); | 688 GaimConversation *gaim_find_conversation(const char *name); |
| 709 | 689 |
| 710 /** | 690 /** |
| 711 * Finds a conversation with the specified name and user. | 691 * Finds a conversation with the specified name and user. |
| 712 * | 692 * |
| 713 * @param name The name of the conversation. | 693 * @param name The name of the conversation. |
| 714 * @param account The gaim_account associated with the conversation. | 694 * @param account The gaim_account associated with the conversation. |
| 715 * | 695 * |
| 716 * @return The conversation if found, or @c NULL otherwise. | 696 * @return The conversation if found, or @c NULL otherwise. |
| 717 */ | 697 */ |
| 718 struct gaim_conversation *gaim_find_conversation_with_account( | 698 GaimConversation *gaim_find_conversation_with_account( |
| 719 const char *name, const GaimAccount *account); | 699 const char *name, const GaimAccount *account); |
| 720 | 700 |
| 721 /** | 701 /** |
| 722 * Writes to a conversation window. | 702 * Writes to a conversation window. |
| 723 * | 703 * |
| 737 * @param mtime The time the message was sent. | 717 * @param mtime The time the message was sent. |
| 738 * | 718 * |
| 739 * @see gaim_im_write() | 719 * @see gaim_im_write() |
| 740 * @see gaim_chat_write() | 720 * @see gaim_chat_write() |
| 741 */ | 721 */ |
| 742 void gaim_conversation_write(struct gaim_conversation *conv, const char *who, | 722 void gaim_conversation_write(GaimConversation *conv, const char *who, |
| 743 const char *message, size_t length, int flags, | 723 const char *message, size_t length, int flags, |
| 744 time_t mtime); | 724 time_t mtime); |
| 745 | 725 |
| 746 /** | 726 /** |
| 747 * Updates the progress bar on a conversation window | 727 * Updates the progress bar on a conversation window |
| 750 * This is used for loading images typically. | 730 * This is used for loading images typically. |
| 751 * | 731 * |
| 752 * @param conv The conversation. | 732 * @param conv The conversation. |
| 753 * @param percent The percentage. | 733 * @param percent The percentage. |
| 754 */ | 734 */ |
| 755 void gaim_conversation_update_progress(struct gaim_conversation *conv, | 735 void gaim_conversation_update_progress(GaimConversation *conv, float percent); |
| 756 float percent); | |
| 757 | 736 |
| 758 /** | 737 /** |
| 759 * Updates the visual status and UI of a conversation. | 738 * Updates the visual status and UI of a conversation. |
| 760 * | 739 * |
| 761 * @param conv The conversation. | 740 * @param conv The conversation. |
| 762 * @param type The update type. | 741 * @param type The update type. |
| 763 */ | 742 */ |
| 764 void gaim_conversation_update(struct gaim_conversation *conv, | 743 void gaim_conversation_update(GaimConversation *conv, GaimConvUpdateType type); |
| 765 GaimConvUpdateType type); | |
| 766 | 744 |
| 767 /** | 745 /** |
| 768 * Calls a function on each conversation. | 746 * Calls a function on each conversation. |
| 769 * | 747 * |
| 770 * @param func The function. | 748 * @param func The function. |
| 771 */ | 749 */ |
| 772 void gaim_conversation_foreach(void (*func)(struct gaim_conversation *conv)); | 750 void gaim_conversation_foreach(void (*func)(GaimConversation *conv)); |
| 773 | 751 |
| 774 /*@}*/ | 752 /*@}*/ |
| 775 | 753 |
| 776 | 754 |
| 777 /**************************************************************************/ | 755 /**************************************************************************/ |
| 784 * | 762 * |
| 785 * @param im The IM. | 763 * @param im The IM. |
| 786 * | 764 * |
| 787 * @return The parent conversation. | 765 * @return The parent conversation. |
| 788 */ | 766 */ |
| 789 struct gaim_conversation *gaim_im_get_conversation(struct gaim_im *im); | 767 GaimConversation *gaim_im_get_conversation(const GaimIm *im); |
| 790 | 768 |
| 791 /** | 769 /** |
| 792 * Sets the IM's typing state. | 770 * Sets the IM's typing state. |
| 793 * | 771 * |
| 794 * @param im The IM. | 772 * @param im The IM. |
| 795 * @param state The typing state. | 773 * @param state The typing state. |
| 796 */ | 774 */ |
| 797 void gaim_im_set_typing_state(struct gaim_im *im, int state); | 775 void gaim_im_set_typing_state(GaimIm *im, int state); |
| 798 | 776 |
| 799 /** | 777 /** |
| 800 * Returns the IM's typing state. | 778 * Returns the IM's typing state. |
| 801 * | 779 * |
| 802 * @param im The IM. | 780 * @param im The IM. |
| 803 * | 781 * |
| 804 * @return The IM's typing state. | 782 * @return The IM's typing state. |
| 805 */ | 783 */ |
| 806 int gaim_im_get_typing_state(const struct gaim_im *im); | 784 int gaim_im_get_typing_state(const GaimIm *im); |
| 807 | 785 |
| 808 /** | 786 /** |
| 809 * Starts the IM's typing timeout. | 787 * Starts the IM's typing timeout. |
| 810 * | 788 * |
| 811 * @param im The IM. | 789 * @param im The IM. |
| 812 * @param timeout The timeout. | 790 * @param timeout The timeout. |
| 813 */ | 791 */ |
| 814 void gaim_im_start_typing_timeout(struct gaim_im *im, int timeout); | 792 void gaim_im_start_typing_timeout(GaimIm *im, int timeout); |
| 815 | 793 |
| 816 /** | 794 /** |
| 817 * Stops the IM's typing timeout. | 795 * Stops the IM's typing timeout. |
| 818 * | 796 * |
| 819 * @param im The IM. | 797 * @param im The IM. |
| 820 */ | 798 */ |
| 821 void gaim_im_stop_typing_timeout(struct gaim_im *im); | 799 void gaim_im_stop_typing_timeout(GaimIm *im); |
| 822 | 800 |
| 823 /** | 801 /** |
| 824 * Returns the IM's typing timeout. | 802 * Returns the IM's typing timeout. |
| 825 * | 803 * |
| 826 * @param im The IM. | 804 * @param im The IM. |
| 827 * | 805 * |
| 828 * @return The timeout. | 806 * @return The timeout. |
| 829 */ | 807 */ |
| 830 guint gaim_im_get_typing_timeout(const struct gaim_im *im); | 808 guint gaim_im_get_typing_timeout(const GaimIm *im); |
| 831 | 809 |
| 832 /** | 810 /** |
| 833 * Sets the IM's time until it should send another typing notification. | 811 * Sets the IM's time until it should send another typing notification. |
| 834 * | 812 * |
| 835 * @param im The IM. | 813 * @param im The IM. |
| 836 * @param val The time. | 814 * @param val The time. |
| 837 */ | 815 */ |
| 838 void gaim_im_set_type_again(struct gaim_im *im, time_t val); | 816 void gaim_im_set_type_again(GaimIm *im, time_t val); |
| 839 | 817 |
| 840 /** | 818 /** |
| 841 * Returns the IM's time until it should send another typing notification. | 819 * Returns the IM's time until it should send another typing notification. |
| 842 * | 820 * |
| 843 * @param im The IM. | 821 * @param im The IM. |
| 844 * | 822 * |
| 845 * @return The time. | 823 * @return The time. |
| 846 */ | 824 */ |
| 847 time_t gaim_im_get_type_again(const struct gaim_im *im); | 825 time_t gaim_im_get_type_again(const GaimIm *im); |
| 848 | 826 |
| 849 /** | 827 /** |
| 850 * Starts the IM's type again timeout. | 828 * Starts the IM's type again timeout. |
| 851 * | 829 * |
| 852 * @param im The IM. | 830 * @param im The IM. |
| 853 */ | 831 */ |
| 854 void gaim_im_start_type_again_timeout(struct gaim_im *im); | 832 void gaim_im_start_type_again_timeout(GaimIm *im); |
| 855 | 833 |
| 856 /** | 834 /** |
| 857 * Stops the IM's type again timeout. | 835 * Stops the IM's type again timeout. |
| 858 * | 836 * |
| 859 * @param im The IM. | 837 * @param im The IM. |
| 860 */ | 838 */ |
| 861 void gaim_im_stop_type_again_timeout(struct gaim_im *im); | 839 void gaim_im_stop_type_again_timeout(GaimIm *im); |
| 862 | 840 |
| 863 /** | 841 /** |
| 864 * Returns the IM's type again timeout interval. | 842 * Returns the IM's type again timeout interval. |
| 865 * | 843 * |
| 866 * @param im The IM. | 844 * @param im The IM. |
| 867 * | 845 * |
| 868 * @return The type again timeout interval. | 846 * @return The type again timeout interval. |
| 869 */ | 847 */ |
| 870 guint gaim_im_get_type_again_timeout(const struct gaim_im *im); | 848 guint gaim_im_get_type_again_timeout(const GaimIm *im); |
| 871 | 849 |
| 872 /** | 850 /** |
| 873 * Updates the visual typing notification for an IM conversation. | 851 * Updates the visual typing notification for an IM conversation. |
| 874 * | 852 * |
| 875 * @param im The IM. | 853 * @param im The IM. |
| 876 */ | 854 */ |
| 877 void gaim_im_update_typing(struct gaim_im *im); | 855 void gaim_im_update_typing(GaimIm *im); |
| 878 | 856 |
| 879 /** | 857 /** |
| 880 * Writes to an IM. | 858 * Writes to an IM. |
| 881 * | 859 * |
| 882 * The @a len parameter is used for writing binary data, such as an | 860 * The @a len parameter is used for writing binary data, such as an |
| 888 * @param len The length of the message, or -1 to specify the length | 866 * @param len The length of the message, or -1 to specify the length |
| 889 * of @a message. | 867 * of @a message. |
| 890 * @param flag The flags. | 868 * @param flag The flags. |
| 891 * @param mtime The time the message was sent. | 869 * @param mtime The time the message was sent. |
| 892 */ | 870 */ |
| 893 void gaim_im_write(struct gaim_im *im, const char *who, | 871 void gaim_im_write(GaimIm *im, const char *who, |
| 894 const char *message, size_t len, int flag, time_t mtime); | 872 const char *message, size_t len, int flag, time_t mtime); |
| 895 | 873 |
| 896 /** | 874 /** |
| 897 * Sends a message to this IM conversation. | 875 * Sends a message to this IM conversation. |
| 898 * | 876 * |
| 899 * @param im The IM. | 877 * @param im The IM. |
| 900 * @param message The message to send. | 878 * @param message The message to send. |
| 901 */ | 879 */ |
| 902 void gaim_im_send(struct gaim_im *im, const char *message); | 880 void gaim_im_send(GaimIm *im, const char *message); |
| 903 | 881 |
| 904 /*@}*/ | 882 /*@}*/ |
| 905 | 883 |
| 906 | 884 |
| 907 /**************************************************************************/ | 885 /**************************************************************************/ |
| 914 * | 892 * |
| 915 * @param chat The chat. | 893 * @param chat The chat. |
| 916 * | 894 * |
| 917 * @return The parent conversation. | 895 * @return The parent conversation. |
| 918 */ | 896 */ |
| 919 struct gaim_conversation *gaim_chat_get_conversation(struct gaim_chat *chat); | 897 GaimConversation *gaim_chat_get_conversation(const GaimChat *chat); |
| 920 | 898 |
| 921 /** | 899 /** |
| 922 * Sets the list of users in the chat room. | 900 * Sets the list of users in the chat room. |
| 923 * | 901 * |
| 924 * @param chat The chat. | 902 * @param chat The chat. |
| 925 * @param users The list of users. | 903 * @param users The list of users. |
| 926 * | 904 * |
| 927 * @return The list passed. | 905 * @return The list passed. |
| 928 */ | 906 */ |
| 929 GList *gaim_chat_set_users(struct gaim_chat *chat, GList *users); | 907 GList *gaim_chat_set_users(GaimChat *chat, GList *users); |
| 930 | 908 |
| 931 /** | 909 /** |
| 932 * Returns a list of users in the chat room. | 910 * Returns a list of users in the chat room. |
| 933 * | 911 * |
| 934 * @param chat The chat. | 912 * @param chat The chat. |
| 935 * | 913 * |
| 936 * @return The list of users. | 914 * @return The list of users. |
| 937 */ | 915 */ |
| 938 GList *gaim_chat_get_users(const struct gaim_chat *chat); | 916 GList *gaim_chat_get_users(const GaimChat *chat); |
| 939 | 917 |
| 940 /** | 918 /** |
| 941 * Ignores a user in a chat room. | 919 * Ignores a user in a chat room. |
| 942 * | 920 * |
| 943 * @param chat The chat. | 921 * @param chat The chat. |
| 944 * @param name The name of the user. | 922 * @param name The name of the user. |
| 945 */ | 923 */ |
| 946 void gaim_chat_ignore(struct gaim_chat *chat, const char *name); | 924 void gaim_chat_ignore(GaimChat *chat, const char *name); |
| 947 | 925 |
| 948 /** | 926 /** |
| 949 * Unignores a user in a chat room. | 927 * Unignores a user in a chat room. |
| 950 * | 928 * |
| 951 * @param chat The chat. | 929 * @param chat The chat. |
| 952 * @param name The name of the user. | 930 * @param name The name of the user. |
| 953 */ | 931 */ |
| 954 void gaim_chat_unignore(struct gaim_chat *chat, const char *name); | 932 void gaim_chat_unignore(GaimChat *chat, const char *name); |
| 955 | 933 |
| 956 /** | 934 /** |
| 957 * Sets the list of ignored users in the chat room. | 935 * Sets the list of ignored users in the chat room. |
| 958 * | 936 * |
| 959 * @param chat The chat. | 937 * @param chat The chat. |
| 960 * @param ignored The list of ignored users. | 938 * @param ignored The list of ignored users. |
| 961 * | 939 * |
| 962 * @return The list passed. | 940 * @return The list passed. |
| 963 */ | 941 */ |
| 964 GList *gaim_chat_set_ignored(struct gaim_chat *chat, GList *ignored); | 942 GList *gaim_chat_set_ignored(GaimChat *chat, GList *ignored); |
| 965 | 943 |
| 966 /** | 944 /** |
| 967 * Returns the list of ignored users in the chat room. | 945 * Returns the list of ignored users in the chat room. |
| 968 * | 946 * |
| 969 * @param chat The chat. | 947 * @param chat The chat. |
| 970 * | 948 * |
| 971 * @return The list of ignored users. | 949 * @return The list of ignored users. |
| 972 */ | 950 */ |
| 973 GList *gaim_chat_get_ignored(const struct gaim_chat *chat); | 951 GList *gaim_chat_get_ignored(const GaimChat *chat); |
| 974 | 952 |
| 975 /** | 953 /** |
| 976 * Returns the actual name of the specified ignored user, if it exists in | 954 * Returns the actual name of the specified ignored user, if it exists in |
| 977 * the ignore list. | 955 * the ignore list. |
| 978 * | 956 * |
| 984 * @param user The user to check in the ignore list. | 962 * @param user The user to check in the ignore list. |
| 985 * | 963 * |
| 986 * @return The ignored user if found, complete with prefixes, or @c NULL | 964 * @return The ignored user if found, complete with prefixes, or @c NULL |
| 987 * if not found. | 965 * if not found. |
| 988 */ | 966 */ |
| 989 const char *gaim_chat_get_ignored_user(const struct gaim_chat *chat, | 967 const char *gaim_chat_get_ignored_user(const GaimChat *chat, |
| 990 const char *user); | 968 const char *user); |
| 991 | 969 |
| 992 /** | 970 /** |
| 993 * Returns @c TRUE if the specified user is ignored. | 971 * Returns @c TRUE if the specified user is ignored. |
| 994 * | 972 * |
| 995 * @param chat The chat. | 973 * @param chat The chat. |
| 996 * @param user The user. | 974 * @param user The user. |
| 997 * | 975 * |
| 998 * @return @c TRUE if the user is in the ignore list; @c FALSE otherwise. | 976 * @return @c TRUE if the user is in the ignore list; @c FALSE otherwise. |
| 999 */ | 977 */ |
| 1000 gboolean gaim_chat_is_user_ignored(const struct gaim_chat *chat, | 978 gboolean gaim_chat_is_user_ignored(const GaimChat *chat, |
| 1001 const char *user); | 979 const char *user); |
| 1002 | 980 |
| 1003 /** | 981 /** |
| 1004 * Sets the chat room's topic. | 982 * Sets the chat room's topic. |
| 1005 * | 983 * |
| 1006 * @param chat The chat. | 984 * @param chat The chat. |
| 1007 * @param who The user that set the topic. | 985 * @param who The user that set the topic. |
| 1008 * @param topic The topic. | 986 * @param topic The topic. |
| 1009 */ | 987 */ |
| 1010 void gaim_chat_set_topic(struct gaim_chat *chat, const char *who, | 988 void gaim_chat_set_topic(GaimChat *chat, const char *who, |
| 1011 const char *topic); | 989 const char *topic); |
| 1012 | 990 |
| 1013 /** | 991 /** |
| 1014 * Returns the chat room's topic. | 992 * Returns the chat room's topic. |
| 1015 * | 993 * |
| 1016 * @param chat The chat. | 994 * @param chat The chat. |
| 1017 * | 995 * |
| 1018 * @return The chat's topic. | 996 * @return The chat's topic. |
| 1019 */ | 997 */ |
| 1020 const char *gaim_chat_get_topic(const struct gaim_chat *chat); | 998 const char *gaim_chat_get_topic(const GaimChat *chat); |
| 1021 | 999 |
| 1022 /** | 1000 /** |
| 1023 * Sets the chat room's ID. | 1001 * Sets the chat room's ID. |
| 1024 * | 1002 * |
| 1025 * @param chat The chat. | 1003 * @param chat The chat. |
| 1026 * @param id The ID. | 1004 * @param id The ID. |
| 1027 */ | 1005 */ |
| 1028 void gaim_chat_set_id(struct gaim_chat *chat, int id); | 1006 void gaim_chat_set_id(GaimChat *chat, int id); |
| 1029 | 1007 |
| 1030 /** | 1008 /** |
| 1031 * Returns the chat room's ID. | 1009 * Returns the chat room's ID. |
| 1032 * | 1010 * |
| 1033 * @param chat The chat. | 1011 * @param chat The chat. |
| 1034 * | 1012 * |
| 1035 * @return The ID. | 1013 * @return The ID. |
| 1036 */ | 1014 */ |
| 1037 int gaim_chat_get_id(const struct gaim_chat *chat); | 1015 int gaim_chat_get_id(const GaimChat *chat); |
| 1038 | 1016 |
| 1039 /** | 1017 /** |
| 1040 * Writes to a chat. | 1018 * Writes to a chat. |
| 1041 * | 1019 * |
| 1042 * @param chat The chat. | 1020 * @param chat The chat. |
| 1043 * @param who The user who sent the message. | 1021 * @param who The user who sent the message. |
| 1044 * @param message The message to write. | 1022 * @param message The message to write. |
| 1045 * @param flag The flags. | 1023 * @param flag The flags. |
| 1046 * @param mtime The time the message was sent. | 1024 * @param mtime The time the message was sent. |
| 1047 */ | 1025 */ |
| 1048 void gaim_chat_write(struct gaim_chat *chat, const char *who, | 1026 void gaim_chat_write(GaimChat *chat, const char *who, |
| 1049 const char *message, int flag, time_t mtime); | 1027 const char *message, int flag, time_t mtime); |
| 1050 | 1028 |
| 1051 /** | 1029 /** |
| 1052 * Sends a message to this chat conversation. | 1030 * Sends a message to this chat conversation. |
| 1053 * | 1031 * |
| 1054 * @param chat The chat. | 1032 * @param chat The chat. |
| 1055 * @param message The message to send. | 1033 * @param message The message to send. |
| 1056 */ | 1034 */ |
| 1057 void gaim_chat_send(struct gaim_chat *chat, const char *message); | 1035 void gaim_chat_send(GaimChat *chat, const char *message); |
| 1058 | 1036 |
| 1059 /** | 1037 /** |
| 1060 * Adds a user to a chat. | 1038 * Adds a user to a chat. |
| 1061 * | 1039 * |
| 1062 * @param chat The chat. | 1040 * @param chat The chat. |
| 1063 * @param user The user to add. | 1041 * @param user The user to add. |
| 1064 * @param extra_msg An extra message to display with the join message. | 1042 * @param extra_msg An extra message to display with the join message. |
| 1065 */ | 1043 */ |
| 1066 void gaim_chat_add_user(struct gaim_chat *chat, const char *user, | 1044 void gaim_chat_add_user(GaimChat *chat, const char *user, |
| 1067 const char *extra_msg); | 1045 const char *extra_msg); |
| 1068 | 1046 |
| 1069 /** | 1047 /** |
| 1070 * Renames a user in a chat. | 1048 * Renames a user in a chat. |
| 1071 * | 1049 * |
| 1072 * @param chat The chat. | 1050 * @param chat The chat. |
| 1073 * @param old_user The old username. | 1051 * @param old_user The old username. |
| 1074 * @param new_user The new username. | 1052 * @param new_user The new username. |
| 1075 */ | 1053 */ |
| 1076 void gaim_chat_rename_user(struct gaim_chat *chat, const char *old_user, | 1054 void gaim_chat_rename_user(GaimChat *chat, const char *old_user, |
| 1077 const char *new_user); | 1055 const char *new_user); |
| 1078 | 1056 |
| 1079 /** | 1057 /** |
| 1080 * Removes a user from a chat, optionally with a reason. | 1058 * Removes a user from a chat, optionally with a reason. |
| 1081 * | 1059 * |
| 1082 * @param chat The chat. | 1060 * @param chat The chat. |
| 1083 * @param user The user that is being removed. | 1061 * @param user The user that is being removed. |
| 1084 * @param reason The optional reason given for the removal. Can be @c NULL. | 1062 * @param reason The optional reason given for the removal. Can be @c NULL. |
| 1085 */ | 1063 */ |
| 1086 void gaim_chat_remove_user(struct gaim_chat *chat, const char *user, | 1064 void gaim_chat_remove_user(GaimChat *chat, const char *user, |
| 1087 const char *reason); | 1065 const char *reason); |
| 1088 | 1066 |
| 1089 /** | 1067 /** |
| 1090 * Finds a chat with the specified chat ID. | 1068 * Finds a chat with the specified chat ID. |
| 1091 * | 1069 * |
| 1092 * @param gc The gaim_connection. | 1070 * @param gc The gaim_connection. |
| 1093 * @param id The chat ID. | 1071 * @param id The chat ID. |
| 1094 * | 1072 * |
| 1095 * @return The chat conversation. | 1073 * @return The chat conversation. |
| 1096 */ | 1074 */ |
| 1097 struct gaim_conversation *gaim_find_chat(GaimConnection *gc, int id); | 1075 GaimConversation *gaim_find_chat(const GaimConnection *gc, int id); |
| 1098 | 1076 |
| 1099 /*@}*/ | 1077 /*@}*/ |
| 1100 | 1078 |
| 1101 /**************************************************************************/ | 1079 /**************************************************************************/ |
| 1102 /** @name Conversation Placement Functions */ | 1080 /** @name Conversation Placement Functions */ |
| 1109 * @param name The name of the function. | 1087 * @param name The name of the function. |
| 1110 * @param fnc A pointer to the function. | 1088 * @param fnc A pointer to the function. |
| 1111 * | 1089 * |
| 1112 * @return The index of this entry. | 1090 * @return The index of this entry. |
| 1113 */ | 1091 */ |
| 1114 int gaim_conv_placement_add_fnc(const char *name, gaim_conv_placement_fnc fnc); | 1092 int gaim_conv_placement_add_fnc(const char *name, GaimConvPlacementFunc fnc); |
| 1115 | 1093 |
| 1116 /** | 1094 /** |
| 1117 * Removes a conversation placement function from the list of possible | 1095 * Removes a conversation placement function from the list of possible |
| 1118 * functions. | 1096 * functions. |
| 1119 * | 1097 * |
| 1145 * | 1123 * |
| 1146 * @param index The index. | 1124 * @param index The index. |
| 1147 * | 1125 * |
| 1148 * @return A pointer to the function. | 1126 * @return A pointer to the function. |
| 1149 */ | 1127 */ |
| 1150 gaim_conv_placement_fnc gaim_conv_placement_get_fnc(int index); | 1128 GaimConvPlacementFunc gaim_conv_placement_get_fnc(int index); |
| 1151 | 1129 |
| 1152 /** | 1130 /** |
| 1153 * Returns the index of the specified conversation placement function. | 1131 * Returns the index of the specified conversation placement function. |
| 1154 * | 1132 * |
| 1155 * @param fnc A pointer to the registered function. | 1133 * @param fnc A pointer to the registered function. |
| 1156 * | 1134 * |
| 1157 * @return The index of the conversation, or -1 if the function is not | 1135 * @return The index of the conversation, or -1 if the function is not |
| 1158 * registered. | 1136 * registered. |
| 1159 */ | 1137 */ |
| 1160 int gaim_conv_placement_get_fnc_index(gaim_conv_placement_fnc fnc); | 1138 int gaim_conv_placement_get_fnc_index(GaimConvPlacementFunc fnc); |
| 1161 | 1139 |
| 1162 /** | 1140 /** |
| 1163 * Returns the index of the active conversation placement function. | 1141 * Returns the index of the active conversation placement function. |
| 1164 * | 1142 * |
| 1165 * @param index The index of the active function. | 1143 * @param index The index of the active function. |
| 1184 * Sets the UI operations structure to be used in all gaim conversation | 1162 * Sets the UI operations structure to be used in all gaim conversation |
| 1185 * windows. | 1163 * windows. |
| 1186 * | 1164 * |
| 1187 * @param ops The UI operations structure. | 1165 * @param ops The UI operations structure. |
| 1188 */ | 1166 */ |
| 1189 void gaim_set_win_ui_ops(struct gaim_window_ui_ops *ops); | 1167 void gaim_set_win_ui_ops(GaimWindowUiOps *ops); |
| 1190 | 1168 |
| 1191 /** | 1169 /** |
| 1192 * Returns the gaim window UI operations structure to be used in | 1170 * Returns the gaim window UI operations structure to be used in |
| 1193 * new windows. | 1171 * new windows. |
| 1194 * | 1172 * |
| 1195 * @return A filled-out gaim_window_ui_ops structure. | 1173 * @return A filled-out GaimWindowUiOps structure. |
| 1196 */ | 1174 */ |
| 1197 struct gaim_window_ui_ops *gaim_get_win_ui_ops(void); | 1175 GaimWindowUiOps *gaim_get_win_ui_ops(void); |
| 1198 | 1176 |
| 1199 /*@}*/ | 1177 /*@}*/ |
| 1200 | 1178 |
| 1201 #endif /* _GAIM_CONVERSATION_H_ */ | 1179 #endif /* _GAIM_CONVERSATION_H_ */ |
