Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • protocols/nogaim.h

    r4c29622 r9f03c47  
    9696
    9797        GSList *groupchats;
     98        GSList *chatlist;
    9899};
    99100
     
    138139        char *description;
    139140};
     141
     142/* This enum takes a few things from libpurple and a few things from old OPT_ flags.
     143 * The only flag that was used before this struct was PRPL_OPT_NOOTR.
     144 *
     145 * The libpurple ones only use the same values as the PurpleProtocolOptions
     146 * enum for convenience, but there's no promise of direct compatibility with
     147 * those values. As of libpurple 2.8.0 they use up to 0x800 (1 << 11), which is
     148 * a nice coincidence.
     149 */
     150typedef enum {
     151        /* The protocol doesn't use passwords
     152         * Mirrors libpurple's OPT_PROTO_NO_PASSWORD */
     153        PRPL_OPT_NO_PASSWORD = 1 << 4,
     154
     155        /* The protocol doesn't require passwords, but may use them
     156         * Mirrors libpurple's OPT_PROTO_PASSWORD_OPTIONAL */
     157        PRPL_OPT_PASSWORD_OPTIONAL = 1 << 7,
     158
     159        /* The protocol is not suitable for OTR, see OPT_NOOTR */
     160        PRPL_OPT_NOOTR = 1 << 12,
     161} prpl_options_t;
    140162
    141163struct prpl {
     
    263285        gboolean (* handle_is_self) (struct im_connection *, const char *who);
    264286
     287        /* This sets/updates the im_connection->chatlist field with a
     288         * bee_chat_info_t GSList. This function should ensure the
     289         * bee_chat_list_finish() function gets called at some point
     290         * after the chat list is completely updated.
     291         */
     292        void (* chat_list) (struct im_connection *, const char *server);
     293
    265294        /* Some placeholders so eventually older plugins may cooperate with newer BitlBees. */
    266295        void *resv1;
     
    271300};
    272301
     302struct plugin_info
     303{
     304        guint abiver;
     305        const char *name;
     306        const char *version;
     307        const char *description;
     308        const char *author;
     309        const char *url;
     310};
     311
     312#ifdef WITH_PLUGINS
     313G_MODULE_EXPORT GList *get_plugins();
     314#endif
     315
    273316/* im_api core stuff. */
    274317void nogaim_init();
     318G_MODULE_EXPORT GList *get_protocols();
     319G_MODULE_EXPORT GList *get_protocols_disabled();
    275320G_MODULE_EXPORT GSList *get_connections();
    276321G_MODULE_EXPORT struct prpl *find_protocol(const char *name);
     
    324369G_MODULE_EXPORT void imcb_rename_buddy(struct im_connection *ic, const char *handle, const char *realname);
    325370G_MODULE_EXPORT void imcb_buddy_nick_hint(struct im_connection *ic, const char *handle, const char *nick);
     371G_MODULE_EXPORT void imcb_buddy_nick_change(struct im_connection *ic, const char *handle, const char *nick);
    326372G_MODULE_EXPORT void imcb_buddy_action_response(bee_user_t *bu, const char *action, char * const args[], void *data);
    327373
Note: See TracChangeset for help on using the changeset viewer.