view mcabber/mcabber/events.h @ 1668:41c26b7d2890

Install mcabber headers * Change mcabber headers naming scheme * Move 'src/' -> 'mcabber/' * Add missing include <mcabber/config.h>'s * Create and install clean config.h version in 'include/' * Move "dirty" config.h version to 'mcabber/' * Add $(top_srcdir) to compiler include path * Update modules HOWTO
author Myhailo Danylenko <isbear@ukrpost.net>
date Mon, 18 Jan 2010 15:36:19 +0200
parents mcabber/src/events.h@14690e624e9d
children 1342df44c814
line wrap: on
line source

#ifndef __MCABBER_EVENTS_H__
#define __MCABBER_EVENTS_H__ 1

#include <mcabber/config.h>

#define EVS_DEFAULT_TIMEOUT 90
#define EVS_MAX_TIMEOUT     432000

#define EVS_CONTEXT_TIMEOUT 0U
#define EVS_CONTEXT_CANCEL  1U
#define EVS_CONTEXT_USER    2U

typedef enum {
  EVS_TYPE_SUBSCRIPTION = 1,
  EVS_TYPE_INVITATION = 2,
#ifdef MODULES_ENABLE
  EVS_TYPE_USER = 3,
#endif
} evs_type;

/* Common structure for events (evs) and IQ requests (iqs) */
typedef struct {
  char *id;
  time_t ts_create;
  time_t ts_expire;
  guint8 type;
  gpointer data;
  int (*callback)();
  char *desc;
} eviqs;

typedef struct {
  char* to;
  char* from;
  char* passwd;
  char* reason;
} event_muc_invitation;

eviqs   *evs_new(guint8 type, time_t timeout);
int      evs_del(const char *evid);
int      evs_callback(const char *evid, guint evcontext);
gboolean evs_check_timeout();
void     evs_display_list(void);
GSList  *evs_geteventslist(int forcompl);

#endif /* __MCABBER_EVENTS_H__ */

/* vim: set expandtab cindent cinoptions=>2\:2(0:  For Vim users... */