view mcabber/src/events.h @ 748:53a000411587

Add /event command
author Mikael Berthe <mikael@lilotux.net>
date Mon, 13 Mar 2006 19:18:20 +0100
parents 9875bc774ddf
children 6c633adaae10
line wrap: on
line source

#ifndef __EVENTS_H__
#define __EVENTS_H__ 1

#include "jabglue.h"


#define EVS_DEFAULT_TIMEOUT 90
#define EVS_MAX_TIMEOUT     432000

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

/* 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;
  void (*callback)();
  xmlnode xmldata;
} eviqs;

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

#endif /* __EVENTS_H__ */

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