include/hooks.h
author Myhailo Danylenko <isbear@ukrpost.net>
Thu, 15 Oct 2009 11:07:23 +0300
changeset 81 9008e2daa1b1
parent 79 05328c643696
child 82 546ee60a3b91
permissions -rw-r--r--
Hooks flags * Updated headers from -crew * Hook uses flags
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 __HOOKS_H__
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
     2
#define __HOOKS_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 <time.h>
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
     5
#include <loudmouth/loudmouth.h>
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
     6
#include "xmpp.h"
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
     7
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
     8
// These two defines are used by hk_message_{in,out} arguments
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
     9
#define ENCRYPTED_PGP   1
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    10
#define ENCRYPTED_OTR   2
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    11
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    12
#include "config.h"
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    13
#ifdef MODULES_ENABLE
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    14
#include <glib.h>
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    15
81
9008e2daa1b1 Hooks flags
Myhailo Danylenko <isbear@ukrpost.net>
parents: 79
diff changeset
    16
#define HOOK_MESSAGE_IN       ( 0x00000001 )
9008e2daa1b1 Hooks flags
Myhailo Danylenko <isbear@ukrpost.net>
parents: 79
diff changeset
    17
#define HOOK_MESSAGE_OUT      ( 0x00000002 )
9008e2daa1b1 Hooks flags
Myhailo Danylenko <isbear@ukrpost.net>
parents: 79
diff changeset
    18
#define HOOK_STATUS_CHANGE    ( 0x00000004 )
9008e2daa1b1 Hooks flags
Myhailo Danylenko <isbear@ukrpost.net>
parents: 79
diff changeset
    19
#define HOOK_MY_STATUS_CHANGE ( 0x00000008 )
9008e2daa1b1 Hooks flags
Myhailo Danylenko <isbear@ukrpost.net>
parents: 79
diff changeset
    20
#define HOOK_INTERNAL         ( 0x00000010 )
9008e2daa1b1 Hooks flags
Myhailo Danylenko <isbear@ukrpost.net>
parents: 79
diff changeset
    21
79
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    22
typedef struct {
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    23
  const char *name;
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    24
  const char *value;
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    25
} hk_arg_t;
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    26
81
9008e2daa1b1 Hooks flags
Myhailo Danylenko <isbear@ukrpost.net>
parents: 79
diff changeset
    27
typedef void (*hk_handler_t) (guint32 flags, hk_arg_t *args, gpointer userdata);
79
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    28
81
9008e2daa1b1 Hooks flags
Myhailo Danylenko <isbear@ukrpost.net>
parents: 79
diff changeset
    29
void hk_add_handler (hk_handler_t handler, guint32 flags, gpointer userdata);
79
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    30
void hk_del_handler (hk_handler_t handler, gpointer userdata);
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    31
#endif
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    32
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    33
void hk_mainloop(void);
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    34
void hk_message_in(const char *bjid, const char *resname,
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    35
                   time_t timestamp, const char *msg, LmMessageSubType type,
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    36
                   guint encrypted);
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    37
void hk_message_out(const char *bjid, const char *nickname,
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    38
                    time_t timestamp, const char *msg,
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    39
                    guint encrypted,  gpointer xep184);
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    40
void hk_statuschange(const char *bjid, const char *resname, gchar prio,
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    41
                     time_t timestamp, enum imstatus status,
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    42
                     char const *status_msg);
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    43
void hk_mystatuschange(time_t timestamp,
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    44
                              enum imstatus old_status,
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    45
                              enum imstatus new_status, const char *msg);
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 hook_execute_internal(const char *hookname);
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    48
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    49
void hk_ext_cmd_init(const char *command);
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    50
void hk_ext_cmd(const char *bjid, guchar type, guchar info, const char *data);
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    51
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    52
#endif /* __HOOKS_H__ */
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    53
05328c643696 Mcabber-lm includes moved into a project tree
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    54
/* vim: set expandtab cindent cinoptions=>2\:2(0:  For Vim users... */