mcabber/src/events.h
author Myhailo Danylenko <isbear@ukrpost.net>
Wed, 13 Jan 2010 12:43:57 +0200
changeset 1663 dcb0b4522ded
parent 1607 14690e624e9d
permissions -rw-r--r--
Fix GError handling
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
745
413e95f3051a Introduce user "events" list
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
     1
#ifndef __EVENTS_H__
413e95f3051a Introduce user "events" list
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
     2
#define __EVENTS_H__ 1
413e95f3051a Introduce user "events" list
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
     3
1607
14690e624e9d Add modules
Myhailo Danylenko <isbear@ukrpost.net>
parents: 1604
diff changeset
     4
#include "config.h" // MODULES_ENABLE
745
413e95f3051a Introduce user "events" list
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
     5
413e95f3051a Introduce user "events" list
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
     6
#define EVS_DEFAULT_TIMEOUT 90
747
9875bc774ddf Event maximum timeout could be higher... Set to 5 days.
Mikael Berthe <mikael@lilotux.net>
parents: 745
diff changeset
     7
#define EVS_MAX_TIMEOUT     432000
745
413e95f3051a Introduce user "events" list
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
     8
952
527d6f234924 Small code cleanup
Mikael Berthe <mikael@lilotux.net>
parents: 820
diff changeset
     9
#define EVS_CONTEXT_TIMEOUT 0U
527d6f234924 Small code cleanup
Mikael Berthe <mikael@lilotux.net>
parents: 820
diff changeset
    10
#define EVS_CONTEXT_CANCEL  1U
527d6f234924 Small code cleanup
Mikael Berthe <mikael@lilotux.net>
parents: 820
diff changeset
    11
#define EVS_CONTEXT_USER    2U
745
413e95f3051a Introduce user "events" list
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    12
749
6c633adaae10 Use events system for subscription requests
Mikael Berthe <mikael@lilotux.net>
parents: 748
diff changeset
    13
typedef enum {
1128
ac9c89f6cb51 Support for invitations to muc rooms
misc@mandriva.org
parents: 952
diff changeset
    14
  EVS_TYPE_SUBSCRIPTION = 1,
1607
14690e624e9d Add modules
Myhailo Danylenko <isbear@ukrpost.net>
parents: 1604
diff changeset
    15
  EVS_TYPE_INVITATION = 2,
14690e624e9d Add modules
Myhailo Danylenko <isbear@ukrpost.net>
parents: 1604
diff changeset
    16
#ifdef MODULES_ENABLE
14690e624e9d Add modules
Myhailo Danylenko <isbear@ukrpost.net>
parents: 1604
diff changeset
    17
  EVS_TYPE_USER = 3,
14690e624e9d Add modules
Myhailo Danylenko <isbear@ukrpost.net>
parents: 1604
diff changeset
    18
#endif
749
6c633adaae10 Use events system for subscription requests
Mikael Berthe <mikael@lilotux.net>
parents: 748
diff changeset
    19
} evs_type;
6c633adaae10 Use events system for subscription requests
Mikael Berthe <mikael@lilotux.net>
parents: 748
diff changeset
    20
745
413e95f3051a Introduce user "events" list
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    21
/* Common structure for events (evs) and IQ requests (iqs) */
413e95f3051a Introduce user "events" list
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    22
typedef struct {
413e95f3051a Introduce user "events" list
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    23
  char *id;
413e95f3051a Introduce user "events" list
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    24
  time_t ts_create;
413e95f3051a Introduce user "events" list
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    25
  time_t ts_expire;
413e95f3051a Introduce user "events" list
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    26
  guint8 type;
413e95f3051a Introduce user "events" list
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    27
  gpointer data;
1213
4a7db2870685 Improve Private Storage detection.
Mikael Berthe <mikael@lilotux.net>
parents: 1128
diff changeset
    28
  int (*callback)();
753
584db5f21e43 Improve "/event list"
Mikael Berthe <mikael@lilotux.net>
parents: 749
diff changeset
    29
  char *desc;
745
413e95f3051a Introduce user "events" list
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    30
} eviqs;
413e95f3051a Introduce user "events" list
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    31
1128
ac9c89f6cb51 Support for invitations to muc rooms
misc@mandriva.org
parents: 952
diff changeset
    32
typedef struct {
ac9c89f6cb51 Support for invitations to muc rooms
misc@mandriva.org
parents: 952
diff changeset
    33
  char* to;
ac9c89f6cb51 Support for invitations to muc rooms
misc@mandriva.org
parents: 952
diff changeset
    34
  char* from;
ac9c89f6cb51 Support for invitations to muc rooms
misc@mandriva.org
parents: 952
diff changeset
    35
  char* passwd;
ac9c89f6cb51 Support for invitations to muc rooms
misc@mandriva.org
parents: 952
diff changeset
    36
  char* reason;
ac9c89f6cb51 Support for invitations to muc rooms
misc@mandriva.org
parents: 952
diff changeset
    37
} event_muc_invitation;
ac9c89f6cb51 Support for invitations to muc rooms
misc@mandriva.org
parents: 952
diff changeset
    38
1598
a087125d8fc8 Replace libjabber with loudmouth
franky
parents: 1213
diff changeset
    39
eviqs   *evs_new(guint8 type, time_t timeout);
a087125d8fc8 Replace libjabber with loudmouth
franky
parents: 1213
diff changeset
    40
int      evs_del(const char *evid);
a087125d8fc8 Replace libjabber with loudmouth
franky
parents: 1213
diff changeset
    41
int      evs_callback(const char *evid, guint evcontext);
a087125d8fc8 Replace libjabber with loudmouth
franky
parents: 1213
diff changeset
    42
gboolean evs_check_timeout();
a087125d8fc8 Replace libjabber with loudmouth
franky
parents: 1213
diff changeset
    43
void     evs_display_list(void);
a087125d8fc8 Replace libjabber with loudmouth
franky
parents: 1213
diff changeset
    44
GSList  *evs_geteventslist(int forcompl);
745
413e95f3051a Introduce user "events" list
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    45
413e95f3051a Introduce user "events" list
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    46
#endif /* __EVENTS_H__ */
413e95f3051a Introduce user "events" list
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    47
413e95f3051a Introduce user "events" list
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    48
/* vim: set expandtab cindent cinoptions=>2\:2(0:  For Vim users... */