From cd84215d4d2907ddfae0b560ae8adfe40bc5f1cf Mon Sep 17 00:00:00 2001 From: Nalin Dahyabhai Date: Wed, 3 Dec 2008 16:04:52 -0500 Subject: - add backend_shr_internal_postop_init(), move internal postop registration to it, let callback registration return error codes --- src/back-shr.c | 50 +++++++++++++++++++++++++++++++++----------------- src/back-shr.h | 3 ++- 2 files changed, 35 insertions(+), 18 deletions(-) diff --git a/src/back-shr.c b/src/back-shr.c index 4bb50d4..48a4117 100644 --- a/src/back-shr.c +++ b/src/back-shr.c @@ -1670,48 +1670,64 @@ backend_shr_delete_cb(Slapi_PBlock *pb) return 0; } -/* Set our post-op callbacks. */ -void +/* Set up our post-op callbacks. */ + +int backend_shr_postop_init(Slapi_PBlock *pb, struct plugin_state *state) { if (slapi_pblock_set(pb, SLAPI_PLUGIN_POST_ADD_FN, backend_shr_add_cb) != 0) { slapi_log_error(SLAPI_LOG_PLUGIN, state->plugin_desc->spd_id, "error hooking up add callback\n"); - } - if (slapi_pblock_set(pb, SLAPI_PLUGIN_INTERNAL_POST_ADD_FN, - backend_shr_add_cb) != 0) { - slapi_log_error(SLAPI_LOG_PLUGIN, state->plugin_desc->spd_id, - "error hooking up internal add callback\n"); + return -1; } if (slapi_pblock_set(pb, SLAPI_PLUGIN_POST_MODIFY_FN, backend_shr_modify_cb) != 0) { slapi_log_error(SLAPI_LOG_PLUGIN, state->plugin_desc->spd_id, "error hooking up modify callback\n"); - } - if (slapi_pblock_set(pb, SLAPI_PLUGIN_INTERNAL_POST_MODIFY_FN, - backend_shr_modify_cb) != 0) { - slapi_log_error(SLAPI_LOG_PLUGIN, state->plugin_desc->spd_id, - "error hooking up internal modify callback\n"); + return -1; } if (slapi_pblock_set(pb, SLAPI_PLUGIN_POST_MODRDN_FN, backend_shr_modrdn_cb) != 0) { slapi_log_error(SLAPI_LOG_PLUGIN, state->plugin_desc->spd_id, "error hooking up modrdn callback\n"); - } - if (slapi_pblock_set(pb, SLAPI_PLUGIN_INTERNAL_POST_MODRDN_FN, - backend_shr_modrdn_cb) != 0) { - slapi_log_error(SLAPI_LOG_PLUGIN, state->plugin_desc->spd_id, - "error hooking up internal modrdn callback\n"); + return -1; } if (slapi_pblock_set(pb, SLAPI_PLUGIN_POST_DELETE_FN, backend_shr_delete_cb) != 0) { slapi_log_error(SLAPI_LOG_PLUGIN, state->plugin_desc->spd_id, "error hooking up delete callback\n"); + return -1; + } + return 0; +} + +int +backend_shr_internal_postop_init(Slapi_PBlock *pb, struct plugin_state *state) +{ + if (slapi_pblock_set(pb, SLAPI_PLUGIN_INTERNAL_POST_ADD_FN, + backend_shr_add_cb) != 0) { + slapi_log_error(SLAPI_LOG_PLUGIN, state->plugin_desc->spd_id, + "error hooking up internal add callback\n"); + return -1; + } + if (slapi_pblock_set(pb, SLAPI_PLUGIN_INTERNAL_POST_MODIFY_FN, + backend_shr_modify_cb) != 0) { + slapi_log_error(SLAPI_LOG_PLUGIN, state->plugin_desc->spd_id, + "error hooking up internal modify callback\n"); + return -1; + } + if (slapi_pblock_set(pb, SLAPI_PLUGIN_INTERNAL_POST_MODRDN_FN, + backend_shr_modrdn_cb) != 0) { + slapi_log_error(SLAPI_LOG_PLUGIN, state->plugin_desc->spd_id, + "error hooking up internal modrdn callback\n"); + return -1; } if (slapi_pblock_set(pb, SLAPI_PLUGIN_INTERNAL_POST_DELETE_FN, backend_shr_delete_cb) != 0) { slapi_log_error(SLAPI_LOG_PLUGIN, state->plugin_desc->spd_id, "error hooking up internal delete callback\n"); + return -1; } + return 0; } diff --git a/src/back-shr.h b/src/back-shr.h index f53f9e3..e0b21b9 100644 --- a/src/back-shr.h +++ b/src/back-shr.h @@ -34,7 +34,8 @@ char **backend_shr_dup_strlist_unless_empty(char **strlist); void backend_shr_add_strlist(char ***strlist, const char *item); void backend_shr_startup(struct plugin_state *state, const char *set_filter); -void backend_shr_postop_init(Slapi_PBlock *pb, struct plugin_state *state); +int backend_shr_postop_init(Slapi_PBlock *pb, struct plugin_state *state); +int backend_shr_internal_postop_init(Slapi_PBlock *pb, struct plugin_state *state); int backend_shr_set_config_entry_add(struct plugin_state *state, Slapi_Entry *e, -- cgit