Mercurial > ~mikael > mcabber > hg
annotate mcabber/src/jabglue.h @ 1197:6f602d3270a4
Add /pgp [-]force
With this command it becomes possible to enforce PGP encryption without
checking if the remote client has PGP support. It can be used to send
encrypted offline messages too.
author | Mikael Berthe <mikael@lilotux.net> |
---|---|
date | Fri, 27 Apr 2007 00:37:57 +0200 |
parents | 2913310a7be6 |
children | 9bc68473f8a3 |
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 |
298
35cda94e570d
Add /connect and /disconnect commands
Mikael Berthe <mikael@lilotux.net>
parents:
294
diff
changeset
|
45 char *compose_jid(const char *username, const char *servername, |
35cda94e570d
Add /connect and /disconnect commands
Mikael Berthe <mikael@lilotux.net>
parents:
294
diff
changeset
|
46 const char *resource); |
1058 | 47 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
|
48 int ssl, const char *pass); |
472
75442262c082
Disable some commands when not connected
Mikael Berthe <mikael@lilotux.net>
parents:
469
diff
changeset
|
49 inline unsigned char jb_getonline(void); |
29 | 50 void jb_disconnect(void); |
952 | 51 void jb_main(void); |
1058 | 52 void jb_subscr_send_auth(const char *bjid); |
53 void jb_subscr_cancel_auth(const char *bjid); | |
54 void jb_subscr_request_auth(const char *bjid); | |
55 void jb_subscr_request_cancel(const char *bjid); | |
56 void jb_addbuddy(const char *bjid, const char *name, const char *group); | |
57 void jb_delbuddy(const char *bjid); | |
58 void jb_updatebuddy(const char *bjid, const char *name, const char *group); | |
952 | 59 inline enum imstatus jb_getstatus(void); |
60 inline const char *jb_getstatusmsg(void); | |
1050
ea71d31a2607
PGP: Do not sign presence messages to chatrooms
Mikael Berthe <mikael@lilotux.net>
parents:
1023
diff
changeset
|
61 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
|
62 int do_not_sign); |
1014
99c5278bf6b8
Keep the status and status messages when we're disconnected
Mikael Berthe <mikael@lilotux.net>
parents:
1009
diff
changeset
|
63 inline void jb_setprevstatus(void); |
1058 | 64 void jb_send_msg(const char *fjid, const char *text, int type, |
1197 | 65 const char *subject, const char *id, gint *encrypted); |
436 | 66 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
|
67 void jb_send_chatstate(gpointer buddy, guint chatstate); |
952 | 68 void jb_keepalive(void); |
69 inline void jb_reset_keepalive(void); | |
112 | 70 void jb_set_keepalive_delay(unsigned int delay); |
900
b41684465283
MUC: join password-protected room
Mikael Berthe <mikael@lilotux.net>
parents:
834
diff
changeset
|
71 void jb_room_join(const char *room, const char *nickname, const char *passwd); |
449 | 72 void jb_room_unlock(const char *room); |
599 | 73 void jb_room_destroy(const char *room, const char *venue, const char *reason); |
1058 | 74 void jb_room_invite(const char *room, const char *fjid, const char *reason); |
75 int jb_room_setattrib(const char *roomid, const char *fjid, const char *nick, | |
584 | 76 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
|
77 void jb_iqs_display_list(void); |
1058 | 78 void jb_request(const char *fjid, enum iqreq_type reqtype); |
1163
2913310a7be6
Make /roster bookmark in the status buffer show all bookmarks
Mikael Berthe <mikael@lilotux.net>
parents:
1058
diff
changeset
|
79 GSList *jb_get_all_storage_bookmarks(void); |
1009 | 80 void jb_set_storage_bookmark(const char *roomid, const char *name, |
81 const char *nick, const char *passwd, | |
82 int autojoin); | |
1023 | 83 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
|
84 GSList *jb_get_all_storage_rosternotes(void); |
1016 | 85 void jb_set_storage_rosternotes(const char *barejid, const char *note); |
29 | 86 |
87 #endif /* __JABGLUE_H__ */ | |
576 | 88 |
580 | 89 /* vim: set expandtab cindent cinoptions=>2\:2(0: For Vim users... */ |