hop-2012/server/subscription.h

35 lines
922 B
C
Raw Normal View History

2011-01-05 18:08:13 +00:00
/* Copyright (C) 2010, 2011 Tony Garnock-Jones. All rights reserved. */
2011-01-05 18:06:59 +00:00
#ifndef cmsg_subscription_h
#define cmsg_subscription_h
typedef struct subscription_t_ {
sexp_t *uuid;
2011-01-03 03:46:48 +00:00
sexp_t *filter;
sexp_t *sink;
sexp_t *name;
struct subscription_t_ *link;
} subscription_t;
extern void free_subscription(subscription_t *sub);
extern void free_subscription_chain(subscription_t *chain);
2011-01-03 03:46:48 +00:00
extern int send_to_subscription(sexp_t *source,
hashtable_t *subscriptions,
subscription_t *sub,
sexp_t *body);
2011-01-03 03:46:48 +00:00
extern subscription_t *send_to_subscription_chain(sexp_t *source,
hashtable_t *subscriptions,
subscription_t *chain,
sexp_t *body);
2011-01-03 03:46:48 +00:00
extern subscription_t *handle_subscribe_message(sexp_t *source,
hashtable_t *subscriptions,
sexp_t *args);
extern void handle_unsubscribe_message(sexp_t *source,
hashtable_t *subscriptions,
sexp_t *args);
#endif