From: Michael Adam Date: Thu, 20 Mar 2008 17:40:09 +0000 (+0100) Subject: libsmbconf: add open and close operations to the smbconf_ops. X-Git-Tag: samba-3.3.0pre1~3198 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=77dbdf82efa60c8a7c00e489c198775b2f66e56c;p=thirdparty%2Fsamba.git libsmbconf: add open and close operations to the smbconf_ops. Note: currently, reg_init_smbconf opens the registry, but does not close it. This has to be changed. so that it is closed. And then libsmbconf will need these open/close functions Michael --- diff --git a/source/lib/smbconf/smbconf.c b/source/lib/smbconf/smbconf.c index a9e895a1685..4a5cbbd4899 100644 --- a/source/lib/smbconf/smbconf.c +++ b/source/lib/smbconf/smbconf.c @@ -395,7 +395,7 @@ done: static int smbconf_destroy_ctx(struct smbconf_ctx *ctx) { - return regdb_close(); + return ctx->ops->close_conf(ctx); } static WERROR smbconf_global_check(struct smbconf_ctx *ctx) @@ -436,6 +436,16 @@ done: return werr; } +static WERROR smbconf_reg_open(struct smbconf_ctx *ctx) +{ + return regdb_open(); +} + +static int smbconf_reg_close(struct smbconf_ctx *ctx) +{ + return regdb_close(); +} + /** * Get the change sequence number of the given service/parameter. * service and parameter strings may be NULL. @@ -751,6 +761,8 @@ done: struct smbconf_ops smbconf_ops_reg = { .init = smbconf_reg_init, + .open_conf = smbconf_reg_open, + .close_conf = smbconf_reg_close, .get_csn = smbconf_reg_get_csn, .drop = smbconf_reg_drop, .get_share_names = smbconf_reg_get_share_names, diff --git a/source/lib/smbconf/smbconf_private.h b/source/lib/smbconf/smbconf_private.h index d9e0f1396a7..a8dc23fefc1 100644 --- a/source/lib/smbconf/smbconf_private.h +++ b/source/lib/smbconf/smbconf_private.h @@ -22,6 +22,8 @@ struct smbconf_ops { WERROR (*init)(struct smbconf_ctx *ctx); + WERROR (*open_conf)(struct smbconf_ctx *ctx); + int (*close_conf)(struct smbconf_ctx *ctx); void (*get_csn)(struct smbconf_ctx *ctx, struct smbconf_csn *csn, const char *service, const char *param); WERROR (*drop)(struct smbconf_ctx *ctx);