summaryrefslogtreecommitdiffstats
path: root/subscribe.h
blob: 2399077169900572b87668c807d7678a7eb02c15 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#ifndef foosubscribehfoo
#define foosubscribehfoo

#include "llist.h"
#include "flx.h"
#include "subscribe.h"
#include "timeeventq.h"
#include "server.h"

struct _flxSubscription {
    flxServer *server;
    flxKey *key;
    gint interface;
    guchar protocol;
    gint n_query;
    guint sec_delay;

    flxTimeEvent *time_event;

    flxSubscriptionCallback callback;
    gpointer userdata;

    FLX_LLIST_FIELDS(flxSubscription, subscriptions);
    FLX_LLIST_FIELDS(flxSubscription, by_key);
};

void flx_subscription_notify(flxServer *s, flxInterface *i, flxRecord *record, flxSubscriptionEvent event);

gboolean flx_is_subscribed(flxServer *s, flxKey *k);

#endif