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)
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.
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,
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);