tor  0.4.2.0-alpha-dev
pubsub_build.h
Go to the documentation of this file.
1 /* Copyright (c) 2001, Matej Pfajfar.
2  * Copyright (c) 2001-2004, Roger Dingledine.
3  * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
4  * Copyright (c) 2007-2018, The Tor Project, Inc. */
5 /* See LICENSE for licensing information */
6 
14 #ifndef TOR_PUBSUB_BUILD_H
15 #define TOR_PUBSUB_BUILD_H
16 
17 #include "lib/dispatch/msgtypes.h"
18 
19 struct dispatch_t;
20 struct pubsub_connector_t;
21 
29 
36 
42 
45 
50 #define pubsub_builder_free(db) \
51  FREE_AND_NULL(pubsub_builder_t, pubsub_builder_free_, (db))
52 
55 
62  subsys_id_t);
63 
67 #define pubsub_connector_free(c) \
68  FREE_AND_NULL(struct pubsub_connector_t, pubsub_connector_free_, (c))
69 
71 
81  pubsub_items_t **items_out);
82 
87 
88 #define pubsub_items_free(cfg) \
89  FREE_AND_NULL(pubsub_items_t, pubsub_items_free_, (cfg))
91 
92 #endif /* !defined(TOR_PUBSUB_BUILD_H) */
struct pubsub_connector_t * pubsub_connector_for_subsystem(pubsub_builder_t *, subsys_id_t)
Definition: pubsub_build.c:89
struct pubsub_connector_t pubsub_connector_t
struct pubsub_builder_t pubsub_builder_t
Definition: pubsub_build.h:28
struct pubsub_items_t pubsub_items_t
Definition: pubsub_build.h:35
void pubsub_connector_free_(struct pubsub_connector_t *)
Definition: pubsub_build.c:107
pubsub_builder_t * pubsub_builder_new(void)
Definition: pubsub_build.c:56
void pubsub_items_clear_bindings(pubsub_items_t *items)
Definition: pubsub_build.c:263
Types used for messages in the dispatcher code.
struct dispatch_t dispatch_t
Definition: dispatch.h:53
uint16_t subsys_id_t
Definition: msgtypes.h:22
void pubsub_items_free_(pubsub_items_t *cfg)
Definition: pubsub_build.c:42
struct dispatch_t * pubsub_builder_finalize(pubsub_builder_t *, pubsub_items_t **items_out)
Definition: pubsub_build.c:278
void pubsub_builder_free_(pubsub_builder_t *)
Definition: pubsub_build.c:74
int pubsub_builder_check(pubsub_builder_t *)
Definition: pubsub_check.c:397