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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
29
86837ff0554c [/trunk] Changeset 45 by mikael
mikael
parents:
diff changeset
1 #ifndef __JABGLUE_H__
86837ff0554c [/trunk] Changeset 45 by mikael
mikael
parents:
diff changeset
2 #define __JABGLUE_H__ 1
86837ff0554c [/trunk] Changeset 45 by mikael
mikael
parents:
diff changeset
3
159
ba51d1737086 [/trunk] Changeset 171 by mikael
mikael
parents: 124
diff changeset
4 #include <glib.h>
ba51d1737086 [/trunk] Changeset 171 by mikael
mikael
parents: 124
diff changeset
5
572
afc2bd38b15c Implement affiliations handling, add "/room whois"
Mikael Berthe <mikael@lilotux.net>
parents: 568
diff changeset
6 #include "roster.h"
29
86837ff0554c [/trunk] Changeset 45 by mikael
mikael
parents:
diff changeset
7 #include "../libjabber/jabber.h"
86837ff0554c [/trunk] Changeset 45 by mikael
mikael
parents:
diff changeset
8
237
c8df64f43625 [/trunk] Changeset 250 by mikael
mikael
parents: 208
diff changeset
9 #if HAVE_CONFIG_H
c8df64f43625 [/trunk] Changeset 250 by mikael
mikael
parents: 208
diff changeset
10 # include <config.h>
c8df64f43625 [/trunk] Changeset 250 by mikael
mikael
parents: 208
diff changeset
11 #endif
c8df64f43625 [/trunk] Changeset 250 by mikael
mikael
parents: 208
diff changeset
12
c8df64f43625 [/trunk] Changeset 250 by mikael
mikael
parents: 208
diff changeset
13 #if ! HAVE_DECL_STRPTIME
c8df64f43625 [/trunk] Changeset 250 by mikael
mikael
parents: 208
diff changeset
14 extern char *strptime ();
c8df64f43625 [/trunk] Changeset 250 by mikael
mikael
parents: 208
diff changeset
15 #endif
c8df64f43625 [/trunk] Changeset 250 by mikael
mikael
parents: 208
diff changeset
16
29
86837ff0554c [/trunk] Changeset 45 by mikael
mikael
parents:
diff changeset
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
86837ff0554c [/trunk] Changeset 45 by mikael
mikael
parents:
diff changeset
19
46
f22e1d120606 [/trunk] Changeset 62 by mikael
mikael
parents: 41
diff changeset
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
f22e1d120606 [/trunk] Changeset 62 by mikael
mikael
parents: 41
diff changeset
22
37
1441ba37a5c1 [/trunk] Changeset 53 by mikael
mikael
parents: 35
diff changeset
23 enum agtype {
693
e98abd3ce28c Add /request command
Mikael Berthe <mikael@lilotux.net>
parents: 689
diff changeset
24 unknown,
e98abd3ce28c Add /request command
Mikael Berthe <mikael@lilotux.net>
parents: 689
diff changeset
25 groupchat,
e98abd3ce28c Add /request command
Mikael Berthe <mikael@lilotux.net>
parents: 689
diff changeset
26 transport,
e98abd3ce28c Add /request command
Mikael Berthe <mikael@lilotux.net>
parents: 689
diff changeset
27 search
e98abd3ce28c Add /request command
Mikael Berthe <mikael@lilotux.net>
parents: 689
diff changeset
28 };
e98abd3ce28c Add /request command
Mikael Berthe <mikael@lilotux.net>
parents: 689
diff changeset
29
e98abd3ce28c Add /request command
Mikael Berthe <mikael@lilotux.net>
parents: 689
diff changeset
30 enum iqreq_type {
e98abd3ce28c Add /request command
Mikael Berthe <mikael@lilotux.net>
parents: 689
diff changeset
31 iqreq_none,
e98abd3ce28c Add /request command
Mikael Berthe <mikael@lilotux.net>
parents: 689
diff changeset
32 iqreq_version,
1003
c8b1a52b2fd6 Initial VCard retrieval support
Mikael Berthe <mikael@lilotux.net>
parents: 990
diff changeset
33 iqreq_time,
1015
579299b1c9b2 Add /request last
Mikael Berthe <mikael@lilotux.net>
parents: 1014
diff changeset
34 iqreq_last,
1003
c8b1a52b2fd6 Initial VCard retrieval support
Mikael Berthe <mikael@lilotux.net>
parents: 990
diff changeset
35 iqreq_vcard
37
1441ba37a5c1 [/trunk] Changeset 53 by mikael
mikael
parents: 35
diff changeset
36 };
1441ba37a5c1 [/trunk] Changeset 53 by mikael
mikael
parents: 35
diff changeset
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
c0d44a9a99bc Code cleanup
Mikael Berthe <mikael@lilotux.net>
parents: 1055
diff changeset
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
86837ff0554c [/trunk] Changeset 45 by mikael
mikael
parents:
diff changeset
50 void jb_disconnect(void);
952
527d6f234924 Small code cleanup
Mikael Berthe <mikael@lilotux.net>
parents: 900
diff changeset
51 void jb_main(void);
1058
c0d44a9a99bc Code cleanup
Mikael Berthe <mikael@lilotux.net>
parents: 1055
diff changeset
52 void jb_subscr_send_auth(const char *bjid);
c0d44a9a99bc Code cleanup
Mikael Berthe <mikael@lilotux.net>
parents: 1055
diff changeset
53 void jb_subscr_cancel_auth(const char *bjid);
c0d44a9a99bc Code cleanup
Mikael Berthe <mikael@lilotux.net>
parents: 1055
diff changeset
54 void jb_subscr_request_auth(const char *bjid);
c0d44a9a99bc Code cleanup
Mikael Berthe <mikael@lilotux.net>
parents: 1055
diff changeset
55 void jb_subscr_request_cancel(const char *bjid);
c0d44a9a99bc Code cleanup
Mikael Berthe <mikael@lilotux.net>
parents: 1055
diff changeset
56 void jb_addbuddy(const char *bjid, const char *name, const char *group);
c0d44a9a99bc Code cleanup
Mikael Berthe <mikael@lilotux.net>
parents: 1055
diff changeset
57 void jb_delbuddy(const char *bjid);
c0d44a9a99bc Code cleanup
Mikael Berthe <mikael@lilotux.net>
parents: 1055
diff changeset
58 void jb_updatebuddy(const char *bjid, const char *name, const char *group);
952
527d6f234924 Small code cleanup
Mikael Berthe <mikael@lilotux.net>
parents: 900
diff changeset
59 inline enum imstatus jb_getstatus(void);
527d6f234924 Small code cleanup
Mikael Berthe <mikael@lilotux.net>
parents: 900
diff changeset
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
c0d44a9a99bc Code cleanup
Mikael Berthe <mikael@lilotux.net>
parents: 1055
diff changeset
64 void jb_send_msg(const char *fjid, const char *text, int type,
1197
6f602d3270a4 Add /pgp [-]force
Mikael Berthe <mikael@lilotux.net>
parents: 1163
diff changeset
65 const char *subject, const char *id, gint *encrypted);
436
802da817a684 Add /rawxml command
Mikael Berthe <mikael@lilotux.net>
parents: 403
diff changeset
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
527d6f234924 Small code cleanup
Mikael Berthe <mikael@lilotux.net>
parents: 900
diff changeset
68 void jb_keepalive(void);
527d6f234924 Small code cleanup
Mikael Berthe <mikael@lilotux.net>
parents: 900
diff changeset
69 inline void jb_reset_keepalive(void);
112
edb5591e2e64 [/trunk] Changeset 126 by mikael
mikael
parents: 46
diff changeset
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
e08b0c2d0e54 Add "/room unlock"
Mikael Berthe <mikael@lilotux.net>
parents: 447
diff changeset
72 void jb_room_unlock(const char *room);
599
fb67bf62f4eb Add "/room destroy"
Mikael Berthe <mikael@lilotux.net>
parents: 584
diff changeset
73 void jb_room_destroy(const char *room, const char *venue, const char *reason);
1058
c0d44a9a99bc Code cleanup
Mikael Berthe <mikael@lilotux.net>
parents: 1055
diff changeset
74 void jb_room_invite(const char *room, const char *fjid, const char *reason);
c0d44a9a99bc Code cleanup
Mikael Berthe <mikael@lilotux.net>
parents: 1055
diff changeset
75 int jb_room_setattrib(const char *roomid, const char *fjid, const char *nick,
584
414fbf558f1e jb_room_setattrib()
Mikael Berthe <mikael@lilotux.net>
parents: 580
diff changeset
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
c0d44a9a99bc Code cleanup
Mikael Berthe <mikael@lilotux.net>
parents: 1055
diff changeset
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
c112423ac012 Add /room bookmark
Mikael Berthe <mikael@lilotux.net>
parents: 1003
diff changeset
80 void jb_set_storage_bookmark(const char *roomid, const char *name,
c112423ac012 Add /room bookmark
Mikael Berthe <mikael@lilotux.net>
parents: 1003
diff changeset
81 const char *nick, const char *passwd,
c112423ac012 Add /room bookmark
Mikael Berthe <mikael@lilotux.net>
parents: 1003
diff changeset
82 int autojoin);
1023
94d9a3cbb211 Remove useless message
Mikael Berthe <mikael@lilotux.net>
parents: 1022
diff changeset
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
4d3c48844746 Add /roster note
Mikael Berthe <mikael@lilotux.net>
parents: 1015
diff changeset
85 void jb_set_storage_rosternotes(const char *barejid, const char *note);
29
86837ff0554c [/trunk] Changeset 45 by mikael
mikael
parents:
diff changeset
86
86837ff0554c [/trunk] Changeset 45 by mikael
mikael
parents:
diff changeset
87 #endif /* __JABGLUE_H__ */
576
8b3db0b555a1 Add Vim modelines
Mikael Berthe <mikael@lilotux.net>
parents: 572
diff changeset
88
580
fed6d1e4d7a9 Fix modelines
Mikael Berthe <mikael@lilotux.net>
parents: 576
diff changeset
89 /* vim: set expandtab cindent cinoptions=>2\:2(0: For Vim users... */