* Major rewrite of event streams
* If you used old event callbacks API, you need to switch to the streams API
* See clixon_stream.[ch]
* Old streams API which needs to be removed include:
* clicon_log_register_callback()
* subscription_add() --> stream_register()
* backend_notify() and backend_notify_xml() - use stream_notify() instead
* Example uses "NETCONF" stream instead of "ROUTING"
* Added timeout option -t for clixon_netconf - quit after max time.
This commit is contained in:
parent
d7fbe75c9e
commit
98f3cd0e32
31 changed files with 597 additions and 635 deletions
|
|
@ -43,34 +43,9 @@
|
|||
/*
|
||||
* Types
|
||||
*/
|
||||
/* Notification subscription info
|
||||
* @see client_subscription in config_client.h
|
||||
*/
|
||||
struct handle_subscription{
|
||||
struct handle_subscription *hs_next;
|
||||
enum format_enum hs_format; /* format (enum format_enum) XXX not needed? */
|
||||
char *hs_stream; /* name of notify stream */
|
||||
char *hs_filter; /* filter, if format=xml: xpath, if text: fnmatch */
|
||||
subscription_fn_t hs_fn; /* Callback when event occurs */
|
||||
void *hs_arg; /* Callback argument */
|
||||
};
|
||||
|
||||
/*
|
||||
* Prototypes
|
||||
*/
|
||||
/* Log for netconf notify function (config_client.c) */
|
||||
int backend_notify(clicon_handle h, char *stream, int level, char *txt);
|
||||
int backend_notify_xml(clicon_handle h, char *stream, int level, cxobj *x);
|
||||
|
||||
|
||||
struct handle_subscription *subscription_add(clicon_handle h, char *stream,
|
||||
enum format_enum format, char *filter,
|
||||
subscription_fn_t fn, void *arg);
|
||||
|
||||
int subscription_delete(clicon_handle h, char *stream,
|
||||
subscription_fn_t fn, void *arg);
|
||||
|
||||
struct handle_subscription *subscription_each(clicon_handle h,
|
||||
struct handle_subscription *hprev);
|
||||
|
||||
#endif /* _CLIXON_BACKEND_HANDLE_H_ */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue