Mercurial > hg
annotate mcabber/src/jabglue.h @ 1485:0121b6f3047c
New command: /buffer save
author | Mikael Berthe <mikael@lilotux.net> |
---|---|
date | Sun, 20 Apr 2008 16:06:37 +0200 |
parents | f89844a0448a |
children | 68580b6be895 |
rev | line source |
---|---|
29 | 1 #ifndef __JABGLUE_H__ |
2 #define __JABGLUE_H__ 1 | |
3 | |
159 | 4 #include <glib.h> |
5 | |
572
afc2bd38b15c
Implement affiliations handling, add "/room whois"
Mikael Berthe <mikael@lilotux.net>
parents:
568
diff
changeset
|
6 #include "roster.h" |
29 | 7 #include "../libjabber/jabber.h" |
8 | |
237 | 9 #if HAVE_CONFIG_H |
10 # include <config.h> | |
11 #endif | |
12 | |
13 #if ! HAVE_DECL_STRPTIME | |
14 extern char *strptime (); | |
15 #endif | |
16 | |
29 | 17 extern jconn jc; |
1014
99c5278bf6b8
Keep the status and status messages when we're disconnected
Mikael Berthe <mikael@lilotux.net>
parents:
1009
diff
changeset
|
18 extern guint AutoConnection; |
29 | 19 |
46 | 20 extern char imstatus2char[]; |
277
4d7040cff8ee
Remove busy/occupied status, which does not really exist
Mikael Berthe <mikael@lilotux.net>
parents:
272
diff
changeset
|
21 // Status chars: '_', 'o', 'i', 'f', 'd', 'n', 'a' |
46 | 22 |
37 | 23 enum agtype { |
693 | 24 unknown, |
25 groupchat, | |
26 transport, | |
27 search | |
28 }; | |
29 | |
30 enum iqreq_type { | |
31 iqreq_none, | |
32 iqreq_version, | |
1003
c8b1a52b2fd6
Initial VCard retrieval support
Mikael Berthe <mikael@lilotux.net>
parents:
990
diff
changeset
|
33 iqreq_time, |
1015 | 34 iqreq_last, |
1003
c8b1a52b2fd6
Initial VCard retrieval support
Mikael Berthe <mikael@lilotux.net>
parents:
990
diff
changeset
|
35 iqreq_vcard |
37 | 36 }; |
37 | |
1019
9d5f6e0ea7b3
XEP-0145: display note dates
Mikael Berthe <mikael@lilotux.net>
parents:
1016
diff
changeset
|
38 struct annotation { |
9d5f6e0ea7b3
XEP-0145: display note dates
Mikael Berthe <mikael@lilotux.net>
parents:
1016
diff
changeset
|
39 time_t cdate; |
9d5f6e0ea7b3
XEP-0145: display note dates
Mikael Berthe <mikael@lilotux.net>
parents:
1016
diff
changeset
|
40 time_t mdate; |
1022
4c8d7b558e83
Annotations listing (/roster note in the status buffer)
Mikael Berthe <mikael@lilotux.net>
parents:
1019
diff
changeset
|
41 gchar *jid; |
1019
9d5f6e0ea7b3
XEP-0145: display note dates
Mikael Berthe <mikael@lilotux.net>
parents:
1016
diff
changeset
|
42 gchar *text; |
9d5f6e0ea7b3
XEP-0145: display note dates
Mikael Berthe <mikael@lilotux.net>
parents:
1016
diff
changeset
|
43 }; |
9d5f6e0ea7b3
XEP-0145: display note dates
Mikael Berthe <mikael@lilotux.net>
parents:
1016
diff
changeset
|
44 |
1391
e20ab87c4c4c
The command /room ban can be used with a nickname
Mikael Berthe <mikael@lilotux.net>
parents:
1379
diff
changeset
|
45 char *jidtodisp(const char *fjid); |
298
35cda94e570d
Add /connect and /disconnect commands
Mikael Berthe <mikael@lilotux.net>
parents:
294
diff
changeset
|
46 char *compose_jid(const char *username, const char *servername, |
35cda94e570d
Add /connect and /disconnect commands
Mikael Berthe <mikael@lilotux.net>
parents:
294
diff
changeset
|
47 const char *resource); |
1058 | 48 jconn jb_connect(const char *fjid, const char *server, unsigned int port, |
403
17aa60c6dc63
Allow a different server name than the jid domain name
Mikael Berthe <mikael@lilotux.net>
parents:
300
diff
changeset
|
49 int ssl, const char *pass); |
1413 | 50 unsigned char jb_getonline(void); |
29 | 51 void jb_disconnect(void); |
952 | 52 void jb_main(void); |
1058 | 53 void jb_subscr_send_auth(const char *bjid); |
54 void jb_subscr_cancel_auth(const char *bjid); | |
55 void jb_subscr_request_auth(const char *bjid); | |
56 void jb_subscr_request_cancel(const char *bjid); | |
57 void jb_addbuddy(const char *bjid, const char *name, const char *group); | |
58 void jb_delbuddy(const char *bjid); | |
59 void jb_updatebuddy(const char *bjid, const char *name, const char *group); | |
1413 | 60 enum imstatus jb_getstatus(void); |
61 const char *jb_getstatusmsg(void); | |
1050
ea71d31a2607
PGP: Do not sign presence messages to chatrooms
Mikael Berthe <mikael@lilotux.net>
parents:
1023
diff
changeset
|
62 void jb_setstatus(enum imstatus st, const char *recipient, const char *msg, |
ea71d31a2607
PGP: Do not sign presence messages to chatrooms
Mikael Berthe <mikael@lilotux.net>
parents:
1023
diff
changeset
|
63 int do_not_sign); |
1413 | 64 void jb_setprevstatus(void); |
1058 | 65 void jb_send_msg(const char *fjid, const char *text, int type, |
1305
9bc68473f8a3
-n and -f flags to message-sending commands
Michal 'vorner' Vaner <vorner@ucw.cz>
parents:
1197
diff
changeset
|
66 const char *subject, const char *id, gint *encrypted, |
9bc68473f8a3
-n and -f flags to message-sending commands
Michal 'vorner' Vaner <vorner@ucw.cz>
parents:
1197
diff
changeset
|
67 const char *type_overwrite); |
436 | 68 void jb_send_raw(const char *str); |
990
35e7913affb7
Send events/chatstates notifications (JEP-22/JEP-85)
Mikael Berthe <mikael@lilotux.net>
parents:
988
diff
changeset
|
69 void jb_send_chatstate(gpointer buddy, guint chatstate); |
952 | 70 void jb_keepalive(void); |
1413 | 71 void jb_reset_keepalive(void); |
112 | 72 void jb_set_keepalive_delay(unsigned int delay); |
900
b41684465283
MUC: join password-protected room
Mikael Berthe <mikael@lilotux.net>
parents:
834
diff
changeset
|
73 void jb_room_join(const char *room, const char *nickname, const char *passwd); |
449 | 74 void jb_room_unlock(const char *room); |
599 | 75 void jb_room_destroy(const char *room, const char *venue, const char *reason); |
1058 | 76 void jb_room_invite(const char *room, const char *fjid, const char *reason); |
77 int jb_room_setattrib(const char *roomid, const char *fjid, const char *nick, | |
584 | 78 struct role_affil ra, const char *reason); |
689
281aab5aef50
Introduce jb_iqs_display_list() helper function for debugging
Mikael Berthe <mikael@lilotux.net>
parents:
617
diff
changeset
|
79 void jb_iqs_display_list(void); |
1058 | 80 void jb_request(const char *fjid, enum iqreq_type reqtype); |
1363
32077249de77
Warn if a MUC room without bookmark is renamed
Mikael Berthe <mikael@lilotux.net>
parents:
1305
diff
changeset
|
81 guint jb_is_bookmarked(const char *bjid); |
1395
d431cd75eb53
Use bookmarked nickname when manually joining a room
Mikael Berthe <mikael@lilotux.net>
parents:
1391
diff
changeset
|
82 const char *jb_get_bookmark_nick(const char *bjid); |
1163
2913310a7be6
Make /roster bookmark in the status buffer show all bookmarks
Mikael Berthe <mikael@lilotux.net>
parents:
1058
diff
changeset
|
83 GSList *jb_get_all_storage_bookmarks(void); |
1009 | 84 void jb_set_storage_bookmark(const char *roomid, const char *name, |
85 const char *nick, const char *passwd, | |
1379
74b7621537d7
MUC: Store room settings (print_status, auto_whois) in private storage
Mikael Berthe <mikael@lilotux.net>
parents:
1363
diff
changeset
|
86 int autojoin, enum room_printstatus pstatus, |
74b7621537d7
MUC: Store room settings (print_status, auto_whois) in private storage
Mikael Berthe <mikael@lilotux.net>
parents:
1363
diff
changeset
|
87 enum room_autowhois awhois); |
1023 | 88 struct annotation *jb_get_storage_rosternotes(const char *barejid, int silent); |
1022
4c8d7b558e83
Annotations listing (/roster note in the status buffer)
Mikael Berthe <mikael@lilotux.net>
parents:
1019
diff
changeset
|
89 GSList *jb_get_all_storage_rosternotes(void); |
1016 | 90 void jb_set_storage_rosternotes(const char *barejid, const char *note); |
29 | 91 |
92 #endif /* __JABGLUE_H__ */ | |
576 | 93 |
580 | 94 /* vim: set expandtab cindent cinoptions=>2\:2(0: For Vim users... */ |