/** * post-request callback * * Note: * New rows have been inserted into the container, and * deleted rows have been removed from the container and * released. * @param user_context * @param rc : MFD_SUCCESS if all requests succeeded * * @retval MFD_SUCCESS : success. * @retval MFD_ERROR : other error (ignored) */ int usmDHUserKeyTable_post_request(usmDHUserKeyTable_registration * user_context, int rc) { DEBUGMSGTL(("verbose:usmDHUserKeyTable:usmDHUserKeyTable_post_request", "called\n")); /* * TODO:511:o: Perform usmDHUserKeyTable post-request actions. */ /* * check to set if any rows were changed. */ if (usmDHUserKeyTable_dirty_get()) { /* * check if request was successful. If so, this would be * a good place to save data to its persistent store. */ if (MFD_SUCCESS == rc) { /* * save changed rows, if you haven't already */ } usmDHUserKeyTable_dirty_set(0); /* clear table dirty flag */ } return MFD_SUCCESS; } /* usmDHUserKeyTable_post_request */
/** * @internal * wrapper */ static int _mfd_usmDHUserKeyTable_post_request(netsnmp_mib_handler *handler, netsnmp_handler_registration *reginfo, netsnmp_agent_request_info *agtreq_info, netsnmp_request_info *requests) { usmDHUserKeyTable_rowreq_ctx *rowreq_ctx = netsnmp_container_table_row_extract(requests); int rc, packet_rc; DEBUGMSGTL(("internal:usmDHUserKeyTable:_mfd_usmDHUserKeyTable_post_request", "called\n")); /* * release row context, if deleted */ if (rowreq_ctx && (rowreq_ctx->rowreq_flags & MFD_ROW_DELETED)) usmDHUserKeyTable_release_rowreq_ctx(rowreq_ctx); /* * wait for last call before calling user */ if (1 != netsnmp_row_merge_status_last(reginfo, agtreq_info)) { DEBUGMSGTL(("internal:usmDHUserKeyTable", "waiting for last post_request\n")); return SNMP_ERR_NOERROR; } packet_rc = netsnmp_check_all_requests_error(agtreq_info->asp, 0); if ((MFD_SUCCESS != packet_rc) && usmDHUserKeyTable_dirty_get()) { /* * we shouldn't get here. the undo steps should also clear * the dirty flags. */ snmp_log(LOG_WARNING, "usmDHUserKeyTable dirty flag set in post_request " "but status != SUCCESS.\n"); } rc = usmDHUserKeyTable_post_request(usmDHUserKeyTable_if_ctx.user_ctx, packet_rc); if (MFD_SUCCESS != rc) { /* * nothing we can do about it but log it */ DEBUGMSGTL(("usmDHUserKeyTable", "error %d from " "usmDHUserKeyTable_post_request\n", rc)); } return SNMP_ERR_NOERROR; } /* _mfd_usmDHUserKeyTable_post_request */