yumapro  20.10-12
YumaPro SDK
agt_push.h File Reference

Server PUSH support. More...

#include "agt_cfg.h"
#include "agt_not.h"
#include "rpc.h"
#include "ses.h"
#include "status_enum.h"
#include "val.h"
Include dependency graph for agt_push.h:

Go to the source code of this file.

Macros

#define AGT_PUSH_FL_CREATE   bit0
 These bits match the change-type definition in RFC 8641 They represent the inverse of the excluded-change. More...
 
#define AGT_PUSH_FL_DELETE   bit1
 PUSH delete operation.
 
#define AGT_PUSH_FL_INSERT   bit2
 PUSH insert operation.
 
#define AGT_PUSH_FL_MOVE   bit3
 PUSH move operation.
 
#define AGT_PUSH_FL_REPLACE   bit4
 PUSH replace operation.
 
#define AGT_PUSH_DEF_INCLUDED_CHANGES   0x1f
 the excluded-changeds leaf-list set is stored as an inverted uint8 bitset
 
#define AGT_PUSH_SET_CREATE_FLAG(F)   (F) |= AGT_PUSH_FL_CREATE
 Set the PUSH Create flag.
 
#define AGT_PUSH_GET_CREATE_FLAG(F)   ((F) & AGT_PUSH_FL_CREATE)
 Get the PUSH Create flag.
 
#define AGT_PUSH_SET_DELETE_FLAG(F)   (F) |= AGT_PUSH_FL_DELETE
 Set the PUSH Delete flag.
 
#define AGT_PUSH_GET_DELETE_FLAG(F)   ((F) & AGT_PUSH_FL_DELETE)
 Get the PUSH Delete flag.
 
#define AGT_PUSH_SET_INSERT_FLAG(F)   (F) |= AGT_PUSH_FL_INSERT
 Set the PUSH Delete flag.
 
#define AGT_PUSH_GET_INSERT_FLAG(F)   ((F) & AGT_PUSH_FL_INSERT)
 Get the PUSH Insert flag.
 
#define AGT_PUSH_SET_MOVE_FLAG(F)   (F) |= AGT_PUSH_FL_MOVE
 Set the PUSH Move flag.
 
#define AGT_PUSH_GET_MOVE_FLAG(F)   ((F) & AGT_PUSH_FL_MOVE)
 Get the PUSH Move flag.
 
#define AGT_PUSH_SET_REPLACE_FLAG(F)   (F) |= AGT_PUSH_FL_REPLACE
 Set the PUSH Replace flag.
 
#define AGT_PUSH_GET_REPLACE_FLAG(F)   ((F) & AGT_PUSH_FL_REPLACE)
 Get the PUSH Replace flag.
 

Enumerations

enum  agt_push_dserr_t_ {
  AGT_PUSH_DSERR_NONE,
  AGT_PUSH_DSERR_DATASTORE,
  AGT_PUSH_DSERR_FILTER_REF,
  AGT_PUSH_DSERR_SUBTREE_FILTER,
  AGT_PUSH_DSERR_XPATH_FILTER,
  AGT_PUSH_DSERR_STOP_TIME,
  AGT_PUSH_DSERR_ENCODING,
  AGT_PUSH_DSERR_PERIODIC,
  AGT_PUSH_DSERR_PERIOD,
  AGT_PUSH_DSERR_ANCHOR_TIME,
  AGT_PUSH_DSERR_ON_CHANGE,
  AGT_PUSH_DSERR_DAMPENING_PERIOD,
  AGT_PUSH_DSERR_SYNC_ON_START,
  AGT_PUSH_DSERR_EXCLUDED_CHANGE,
  AGT_PUSH_DSERR_ID
}
 datastore error parameter numbers Used internally to identify error objects for <rpc-error> More...
 

Functions

status_t agt_push_init (obj_template_t *update_obj, obj_template_t *change_obj)
 Initialize the PUSH modules. More...
 
status_t agt_push_init2 (void)
 PUSH init phase 2. More...
 
void agt_push_cleanup (void)
 Cleanup the PUSH Module. More...
 
status_t agt_push_establish_subscription (ses_cb_t *scb, ncx_nmda_ds_t datastore_id, const xmlChar *selection_filter_ref, const val_value_t *datastore_subtree_filter, const val_value_t *datastore_xpath_filter, const xmlChar *stop_time, val_value_t *encoding, boolean periodic, uint32 period, const xmlChar *anchor_time, boolean on_change, uint32 dampening_period, boolean sync_on_start, uint32 included_changes, agt_not_subid_t *subid, agt_push_dserr_t *errnum)
 Set the YANG-Push datastore parameters and start a YANG push subscription. More...
 
status_t agt_push_modify_subscription (ses_cb_t *scb, agt_not_subid_t cur_subid, ncx_nmda_ds_t datastore_id, const xmlChar *selection_filter_ref, const val_value_t *datastore_subtree_filter, const val_value_t *datastore_xpath_filter, const xmlChar *stop_time, boolean periodic, uint32 period, const xmlChar *anchor_time, boolean on_change, boolean dampening_set, uint32 dampening_period, agt_push_dserr_t *errnum)
 Set the YANG-Push datastore parameters and start a YANG push subscription. More...
 
status_t agt_push_sync_subscription (agt_not_subid_t subid)
 Request a sync for the YANG-Push datastore subscription. More...
 
void agt_push_config_update (rpc_msg_t *msg, agt_cfg_transaction_t *txcb)
 Do a config update for YANG Push subscriptions if needed. More...
 

Detailed Description

Server PUSH support.