include/xmpp.h
author Myhailo Danylenko <isbear@ukrpost.net>
Sat, 01 Aug 2009 23:05:11 +0300
changeset 79 05328c643696
child 81 9008e2daa1b1
permissions -rw-r--r--
Mcabber-lm includes moved into a project tree
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
79
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
     1
#ifndef __XMPP_H__
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
     2
#define __XMPP_H__ 1
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
     3
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
     4
#include <loudmouth/loudmouth.h>
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
     5
#include "roster.h"
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
     6
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
     7
enum iqreq_type {
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
     8
  iqreq_none,
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
     9
  iqreq_version,
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    10
  iqreq_time,
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    11
  iqreq_last,
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    12
  iqreq_vcard
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    13
};
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    14
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    15
struct annotation {
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    16
  time_t cdate;
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    17
  time_t mdate;
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    18
  gchar *jid;
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    19
  gchar *text;
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    20
};
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    21
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    22
struct bookmark {
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    23
  gchar *roomjid;
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    24
  gchar *name;
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    25
  gchar *nick;
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    26
  guint autojoin;
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    27
  /* enum room_printstatus pstatus; */
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    28
  /* enum room_autowhois awhois; */
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    29
};
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    30
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    31
extern LmConnection* lconnection;
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    32
extern LmSSL* lssl;
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    33
extern GMainLoop *main_loop;
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    34
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    35
typedef struct {
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    36
	char   *subject;
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    37
	char   *body;
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    38
	time_t  timestamp;
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    39
	char   *jid;
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    40
} unread_message_t;
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    41
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    42
extern GSList *unread_messages;
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    43
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    44
void xmpp_connect(void);
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    45
void xmpp_disconnect(void);
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    46
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    47
void xmpp_room_join(const char *room, const char *nickname, const char *passwd);
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    48
int xmpp_room_setattrib(const char *roomid, const char *fjid,
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    49
                        const char *nick, struct role_affil ra,
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    50
                        const char *reason);
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    51
void xmpp_room_invite(const char *room, const char *fjid, const char *reason);
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    52
void xmpp_room_unlock(const char *room);
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    53
void xmpp_room_destroy(const char *room, const char *venue, const char *reason);
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    54
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    55
void xmpp_addbuddy(const char *bjid, const char *name, const char *group);
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    56
void xmpp_updatebuddy(const char *bjid, const char *name, const char *group);
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    57
void xmpp_delbuddy(const char *bjid);
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    58
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    59
void xmpp_send_msg(const char *fjid, const char *text, int type,
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    60
                   const char *subject, gboolean otrinject, gint *encrypted,
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    61
                   LmMessageSubType type_overwrite, gpointer *xep184);
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    62
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    63
void xmpp_send_s10n(const char *bjid, LmMessageSubType type);
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    64
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    65
enum imstatus xmpp_getstatus(void);
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    66
const char *xmpp_getstatusmsg(void);
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    67
void xmpp_setprevstatus(void);
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    68
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    69
void xmpp_setstatus(enum imstatus st, const char *recipient,
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    70
                    const char *msg, int do_not_sign);
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    71
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    72
void xmpp_send_chatstate(gpointer buddy, guint chatstate);
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    73
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    74
GSList *xmpp_get_all_storage_bookmarks(void);
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    75
GSList *xmpp_get_all_storage_rosternotes(void);
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    76
void xmpp_set_storage_bookmark(const char *roomid, const char *name,
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    77
                               const char *nick, const char *passwd,
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    78
                               int autojoin, enum room_printstatus pstatus,
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    79
                               enum room_autowhois awhois);
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    80
struct annotation *xmpp_get_storage_rosternotes(const char *barejid,
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    81
                                                int silent);
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    82
void xmpp_set_storage_rosternotes(const char *barejid, const char *note);
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    83
guint xmpp_is_bookmarked(const char *bjid);
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    84
const char *xmpp_get_bookmark_nick(const char *bjid);
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    85
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    86
void xmpp_request(const char *fjid, enum iqreq_type reqtype);
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    87
void request_vcard(const char *bjid);
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    88
void xmpp_request_storage(const gchar *storage);
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    89
#endif /* __XMPP_H__ */