int32 subscribe_event(listener_dest_t *listener, int8 *evt_str) { memdb_integer evt_nid = 0; memdb_integer listener_nid = 0; int32 mask = 0; int32 rc = 0; int32 type = get_rf_evt_type(evt_str); int32 root_type = get_root_evt_type(type); listener_nid = libwrap_get_listener(listener->dest, &evt_nid, type); if (listener_nid == -1) { HTTPD_ERR("get redfish event listener error, type is %d\n", type); return -1; } if (libwrap_evt_subscribe(listener, listener_nid, evt_nid) != 0) return rc; /* subscribe resource root */ listener_nid = libwrap_get_listener(listener->dest, &evt_nid, root_type); if (listener_nid == -1) { HTTPD_ERR("get redfish event listener error, type is %d\n", type); return -1; } if (libwrap_evt_subscribe(listener, listener_nid, evt_nid) != 0) return rc; return 0; }
int32 unsubscribe_event(listener_dest_t *listener, int8 *evt_str, int32 type) { memdb_integer evt_nid; memdb_integer listener_nid = 0; int32 mask = 0; listener_nid = libwrap_get_listener(listener->dest, evt_str, &evt_nid, type); if (listener_nid == 0) return 0; return libwrap_unsubscribe_listener(listener, listener_nid); }
int32 subscribe_event(listener_dest_t *listener, int8 *evt_str, int32 type) { memdb_integer evt_nid = 0; memdb_integer listener_nid = 0; int32 mask = 0; listener_nid = libwrap_get_listener(listener->dest, evt_str, &evt_nid, type); if (listener_nid == -1) { HTTPD_ERR("get redfish event listener error, type is %d\n", type); return -1; } return libwrap_subscribe_listener(listener, listener_nid, evt_nid); }