summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/back-shr.c50
-rw-r--r--src/back-shr.h3
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,