author | Mikael Berthe <mikael@lilotux.net> |
Sun, 14 Mar 2010 14:07:25 +0100 | |
changeset 1784 | 250ad919f03f |
parent 1683 | b09f82f61745 |
child 1795 | 47699a09ceb3 |
permissions | -rw-r--r-- |
1668
41c26b7d2890
Install mcabber headers
Myhailo Danylenko <isbear@ukrpost.net>
parents:
1658
diff
changeset
|
1 |
#ifndef __MCABBER_HOOKS_H__ |
41c26b7d2890
Install mcabber headers
Myhailo Danylenko <isbear@ukrpost.net>
parents:
1658
diff
changeset
|
2 |
#define __MCABBER_HOOKS_H__ 1 |
113 | 3 |
|
4 |
#include <time.h> |
|
1598 | 5 |
#include <loudmouth/loudmouth.h> |
1668
41c26b7d2890
Install mcabber headers
Myhailo Danylenko <isbear@ukrpost.net>
parents:
1658
diff
changeset
|
6 |
#include <mcabber/xmpp.h> |
113 | 7 |
|
1484
7b36b91a4388
New UI message flag (O) when OTR is used
Mikael Berthe <mikael@lilotux.net>
parents:
1425
diff
changeset
|
8 |
// These two defines are used by hk_message_{in,out} arguments |
7b36b91a4388
New UI message flag (O) when OTR is used
Mikael Berthe <mikael@lilotux.net>
parents:
1425
diff
changeset
|
9 |
#define ENCRYPTED_PGP 1 |
7b36b91a4388
New UI message flag (O) when OTR is used
Mikael Berthe <mikael@lilotux.net>
parents:
1425
diff
changeset
|
10 |
#define ENCRYPTED_OTR 2 |
113 | 11 |
|
1668
41c26b7d2890
Install mcabber headers
Myhailo Danylenko <isbear@ukrpost.net>
parents:
1658
diff
changeset
|
12 |
#include <mcabber/config.h> |
1607 | 13 |
#ifdef MODULES_ENABLE |
14 |
#include <glib.h> |
|
15 |
||
1623
b008ac166b91
Flags for hook handlers
Myhailo Danylenko <isbear@ukrpost.net>
parents:
1607
diff
changeset
|
16 |
#define HOOK_MESSAGE_IN ( 0x00000001 ) |
b008ac166b91
Flags for hook handlers
Myhailo Danylenko <isbear@ukrpost.net>
parents:
1607
diff
changeset
|
17 |
#define HOOK_MESSAGE_OUT ( 0x00000002 ) |
b008ac166b91
Flags for hook handlers
Myhailo Danylenko <isbear@ukrpost.net>
parents:
1607
diff
changeset
|
18 |
#define HOOK_STATUS_CHANGE ( 0x00000004 ) |
b008ac166b91
Flags for hook handlers
Myhailo Danylenko <isbear@ukrpost.net>
parents:
1607
diff
changeset
|
19 |
#define HOOK_MY_STATUS_CHANGE ( 0x00000008 ) |
1683
b09f82f61745
Split HOOK_INTERNAL
Myhailo Danylenko <isbear@ukrpost.net>
parents:
1668
diff
changeset
|
20 |
#define HOOK_POST_CONNECT ( 0x00000010 ) |
b09f82f61745
Split HOOK_INTERNAL
Myhailo Danylenko <isbear@ukrpost.net>
parents:
1668
diff
changeset
|
21 |
#define HOOK_PRE_DISCONNECT ( 0x00000020 ) |
b09f82f61745
Split HOOK_INTERNAL
Myhailo Danylenko <isbear@ukrpost.net>
parents:
1668
diff
changeset
|
22 |
#define HOOK_INTERNAL ( HOOK_POST_CONNECT | HOOK_PRE_DISCONNECT ) |
1623
b008ac166b91
Flags for hook handlers
Myhailo Danylenko <isbear@ukrpost.net>
parents:
1607
diff
changeset
|
23 |
|
1607 | 24 |
typedef struct { |
25 |
const char *name; |
|
26 |
const char *value; |
|
27 |
} hk_arg_t; |
|
28 |
||
1623
b008ac166b91
Flags for hook handlers
Myhailo Danylenko <isbear@ukrpost.net>
parents:
1607
diff
changeset
|
29 |
typedef void (*hk_handler_t) (guint32 flags, hk_arg_t *args, gpointer userdata); |
1607 | 30 |
|
1784
250ad919f03f
Small code cleanup in hooks.[ch]
Mikael Berthe <mikael@lilotux.net>
parents:
1683
diff
changeset
|
31 |
void hk_add_handler(hk_handler_t handler, guint32 flags, gpointer userdata); |
250ad919f03f
Small code cleanup in hooks.[ch]
Mikael Berthe <mikael@lilotux.net>
parents:
1683
diff
changeset
|
32 |
void hk_del_handler(hk_handler_t handler, gpointer userdata); |
1607 | 33 |
#endif |
34 |
||
1398
f8321420ed7a
Remove useless inline's
Mikael Berthe <mikael@lilotux.net>
parents:
1352
diff
changeset
|
35 |
void hk_message_in(const char *bjid, const char *resname, |
1598 | 36 |
time_t timestamp, const char *msg, LmMessageSubType type, |
37 |
guint encrypted); |
|
1398
f8321420ed7a
Remove useless inline's
Mikael Berthe <mikael@lilotux.net>
parents:
1352
diff
changeset
|
38 |
void hk_message_out(const char *bjid, const char *nickname, |
1602 | 39 |
time_t timestamp, const char *msg, |
40 |
guint encrypted, gpointer xep184); |
|
1398
f8321420ed7a
Remove useless inline's
Mikael Berthe <mikael@lilotux.net>
parents:
1352
diff
changeset
|
41 |
void hk_statuschange(const char *bjid, const char *resname, gchar prio, |
1598 | 42 |
time_t timestamp, enum imstatus status, |
43 |
char const *status_msg); |
|
1398
f8321420ed7a
Remove useless inline's
Mikael Berthe <mikael@lilotux.net>
parents:
1352
diff
changeset
|
44 |
void hk_mystatuschange(time_t timestamp, |
1784
250ad919f03f
Small code cleanup in hooks.[ch]
Mikael Berthe <mikael@lilotux.net>
parents:
1683
diff
changeset
|
45 |
enum imstatus old_status, enum imstatus new_status, |
250ad919f03f
Small code cleanup in hooks.[ch]
Mikael Berthe <mikael@lilotux.net>
parents:
1683
diff
changeset
|
46 |
const char *msg); |
113 | 47 |
|
1683
b09f82f61745
Split HOOK_INTERNAL
Myhailo Danylenko <isbear@ukrpost.net>
parents:
1668
diff
changeset
|
48 |
void hk_postconnect(void); |
b09f82f61745
Split HOOK_INTERNAL
Myhailo Danylenko <isbear@ukrpost.net>
parents:
1668
diff
changeset
|
49 |
void hk_predisconnect(void); |
1352
61a54e172010
Add internal hooks support
Mikael Berthe <mikael@lilotux.net>
parents:
1058
diff
changeset
|
50 |
|
281
f562b9af2de7
Add "const" specifier in prototypes
Mikael Berthe <mikael@lilotux.net>
parents:
221
diff
changeset
|
51 |
void hk_ext_cmd_init(const char *command); |
1058 | 52 |
void hk_ext_cmd(const char *bjid, guchar type, guchar info, const char *data); |
160 | 53 |
|
1668
41c26b7d2890
Install mcabber headers
Myhailo Danylenko <isbear@ukrpost.net>
parents:
1658
diff
changeset
|
54 |
#endif /* __MCABBER_HOOKS_H__ */ |
576 | 55 |
|
580 | 56 |
/* vim: set expandtab cindent cinoptions=>2\:2(0: For Vim users... */ |