Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • protocols/nogaim.h

    rc6ca3ee rcca0692  
    3939#define _NOGAIM_H
    4040
     41#include <stdint.h>
     42
    4143#include "bitlbee.h"
    4244#include "account.h"
     
    4749
    4850#define WEBSITE "http://www.bitlbee.org/"
    49 #define GAIM_AWAY_CUSTOM "Custom"
    5051
    5152/* Sharing flags between all kinds of things. I just hope I won't hit any
     
    208209         * not implement this. */
    209210        struct groupchat *
    210              (* chat_join)      (struct im_connection *, char *room, char *nick, char *password);
     211             (* chat_join)      (struct im_connection *, const char *room, const char *nick, const char *password);
    211212        /* Change the topic, if supported. Note that BitlBee expects the IM
    212213           server to confirm the topic change with a regular topic change
     
    216217       
    217218        /* You can tell what away states your protocol supports, so that
    218          * BitlBee will try to map the IRC away reasons to them, or use
    219          * GAIM_AWAY_CUSTOM when calling skype_set_away(). */
     219         * BitlBee will try to map the IRC away reasons to them. If your
     220         * protocol doesn't have any, just return one generic "Away". */
    220221        GList *(* away_states)(struct im_connection *ic);
    221222       
     
    223224         * - Most protocols will just want to set this to g_strcasecmp().*/
    224225        int (* handle_cmp) (const char *who1, const char *who2);
     226
     227        /* Implement these callbacks if you want to use imcb_ask_auth() */
     228        void (* auth_allow)     (struct im_connection *, const char *who);
     229        void (* auth_deny)      (struct im_connection *, const char *who);
    225230};
    226231
     
    238243 * the account_t parameter. */
    239244G_MODULE_EXPORT struct im_connection *imcb_new( account_t *acc );
    240 G_MODULE_EXPORT void imcb_free( struct im_connection *ic );
     245G_MODULE_EXPORT void imc_free( struct im_connection *ic );
    241246/* Once you're connected, you should call this function, so that the user will
    242247 * see the success. */
     
    251256/* To tell the user an error, ie. before logging out when an error occurs. */
    252257G_MODULE_EXPORT void imcb_error( struct im_connection *ic, char *format, ... ) G_GNUC_PRINTF( 2, 3 );
     258
    253259/* To ask a your about something.
    254260 * - 'msg' is the question.
     
    257263 */
    258264G_MODULE_EXPORT void imcb_ask( struct im_connection *ic, char *msg, void *data, query_callback doit, query_callback dont );
    259 G_MODULE_EXPORT void imcb_ask_add( struct im_connection *ic, char *handle, const char *realname );
     265
     266/* Two common questions you may want to ask:
     267 * - X added you to his contact list, allow?
     268 * - X is not in your contact list, want to add?
     269 */
     270G_MODULE_EXPORT void imcb_ask_auth( struct im_connection *ic, const char *handle, const char *realname );
     271G_MODULE_EXPORT void imcb_ask_add( struct im_connection *ic, const char *handle, const char *realname );
    260272
    261273/* Buddy management */
     
    267279G_MODULE_EXPORT struct buddy *imcb_find_buddy( struct im_connection *ic, char *handle );
    268280G_MODULE_EXPORT void imcb_rename_buddy( struct im_connection *ic, const char *handle, const char *realname );
    269 G_MODULE_EXPORT void imcb_buddy_nick_hint( struct im_connection *ic, char *handle, char *nick );
     281G_MODULE_EXPORT void imcb_buddy_nick_hint( struct im_connection *ic, const char *handle, const char *nick );
    270282
    271283/* Buddy activity */
     
    290302 *   user, too. */
    291303G_MODULE_EXPORT struct groupchat *imcb_chat_new( struct im_connection *ic, const char *handle );
     304G_MODULE_EXPORT void imcb_chat_name_hint( struct groupchat *c, const char *name );
    292305G_MODULE_EXPORT void imcb_chat_add_buddy( struct groupchat *b, const char *handle );
    293306/* To remove a handle from a group chat. Reason can be NULL. */
     
    302315
    303316/* Actions, or whatever. */
    304 int imc_set_away( struct im_connection *ic, char *away );
     317int imc_away_send_update( struct im_connection *ic );
    305318int imc_buddy_msg( struct im_connection *ic, char *handle, char *msg, int flags );
    306319int imc_chat_msg( struct groupchat *c, char *msg, int flags );
     
    312325
    313326/* Misc. stuff */
     327char *set_eval_timezone( set_t *set, char *value );
    314328char *set_eval_away_devoice( set_t *set, char *value );
    315329gboolean auto_reconnect( gpointer data, gint fd, b_input_condition cond );
Note: See TracChangeset for help on using the changeset viewer.