mirror of
https://github.com/samba-team/samba.git
synced 2025-07-30 19:42:05 +03:00
libsmbconf: add backend specific init function.
Hide generic init function taking smbconf_ops argument
from public api.
Michael
(This used to be commit b3f6920ccb
)
This commit is contained in:
@ -191,7 +191,7 @@ static WERROR NetServerSetInfoLocal_1005(struct libnetapi_ctx *ctx,
|
||||
return WERR_NOT_SUPPORTED;
|
||||
}
|
||||
|
||||
werr = smbconf_init(ctx, &conf_ctx);
|
||||
werr = smbconf_init_reg(ctx, &conf_ctx);
|
||||
if (!W_ERROR_IS_OK(werr)) {
|
||||
goto done;
|
||||
}
|
||||
|
@ -781,6 +781,11 @@ struct smbconf_ops smbconf_ops_reg = {
|
||||
.delete_parameter = smbconf_reg_delete_parameter
|
||||
};
|
||||
|
||||
WERROR smbconf_init_reg(TALLOC_CTX *mem_ctx, struct smbconf_ctx **conf_ctx)
|
||||
{
|
||||
return smbconf_init(mem_ctx, conf_ctx, &smbconf_ops_reg);
|
||||
}
|
||||
|
||||
|
||||
/**********************************************************************
|
||||
*
|
||||
@ -801,7 +806,8 @@ struct smbconf_ops smbconf_ops_reg = {
|
||||
* After the work with the configuration is completed, smbconf_shutdown()
|
||||
* should be called.
|
||||
*/
|
||||
WERROR smbconf_init(TALLOC_CTX *mem_ctx, struct smbconf_ctx **conf_ctx)
|
||||
WERROR smbconf_init(TALLOC_CTX *mem_ctx, struct smbconf_ctx **conf_ctx,
|
||||
struct smbconf_ops *ops)
|
||||
{
|
||||
WERROR werr = WERR_OK;
|
||||
struct smbconf_ctx *ctx;
|
||||
@ -815,7 +821,7 @@ WERROR smbconf_init(TALLOC_CTX *mem_ctx, struct smbconf_ctx **conf_ctx)
|
||||
return WERR_NOMEM;
|
||||
}
|
||||
|
||||
ctx->ops = &smbconf_ops_reg;
|
||||
ctx->ops = ops;
|
||||
|
||||
werr = ctx->ops->init(ctx);
|
||||
if (!W_ERROR_IS_OK(werr)) {
|
||||
|
@ -33,7 +33,7 @@ struct smbconf_csn {
|
||||
* (Backends and possibly remote support being added ...)
|
||||
*/
|
||||
|
||||
WERROR smbconf_init(TALLOC_CTX *mem_ctx, struct smbconf_ctx **conf_ctx);
|
||||
WERROR smbconf_init_reg(TALLOC_CTX *mem_ctx, struct smbconf_ctx **conf_ctx);
|
||||
void smbconf_shutdown(struct smbconf_ctx *ctx);
|
||||
bool smbconf_changed(struct smbconf_ctx *ctx, struct smbconf_csn *csn,
|
||||
const char *service, const char *param);
|
||||
|
@ -58,4 +58,7 @@ struct smbconf_ctx {
|
||||
struct smbconf_ops *ops;
|
||||
};
|
||||
|
||||
WERROR smbconf_init(TALLOC_CTX *mem_ctx, struct smbconf_ctx **conf_ctx,
|
||||
struct smbconf_ops *ops);
|
||||
|
||||
#endif
|
||||
|
@ -1201,7 +1201,7 @@ static WERROR do_join_modify_vals_config(struct libnet_JoinCtx *r)
|
||||
WERROR werr;
|
||||
struct smbconf_ctx *ctx;
|
||||
|
||||
werr = smbconf_init(r, &ctx);
|
||||
werr = smbconf_init_reg(r, &ctx);
|
||||
if (!W_ERROR_IS_OK(werr)) {
|
||||
goto done;
|
||||
}
|
||||
@ -1245,7 +1245,7 @@ static WERROR do_unjoin_modify_vals_config(struct libnet_UnjoinCtx *r)
|
||||
WERROR werr = WERR_OK;
|
||||
struct smbconf_ctx *ctx;
|
||||
|
||||
werr = smbconf_init(r, &ctx);
|
||||
werr = smbconf_init_reg(r, &ctx);
|
||||
if (!W_ERROR_IS_OK(werr)) {
|
||||
goto done;
|
||||
}
|
||||
|
@ -6497,7 +6497,7 @@ static bool process_registry_globals(bool (*pfunc)(const char *, const char *))
|
||||
|
||||
if (conf_ctx == NULL) {
|
||||
/* first time */
|
||||
werr = smbconf_init(NULL, &conf_ctx);
|
||||
werr = smbconf_init_reg(NULL, &conf_ctx);
|
||||
if (!W_ERROR_IS_OK(werr)) {
|
||||
goto done;
|
||||
}
|
||||
@ -6607,7 +6607,7 @@ bool lp_file_list_changed(void)
|
||||
if (lp_config_backend_is_registry()) {
|
||||
if (conf_ctx == NULL) {
|
||||
WERROR werr;
|
||||
werr = smbconf_init(NULL, &conf_ctx);
|
||||
werr = smbconf_init_reg(NULL, &conf_ctx);
|
||||
if (!W_ERROR_IS_OK(werr)) {
|
||||
DEBUG(0, ("error opening configuration: %s\n",
|
||||
dos_errstr(werr)));
|
||||
|
@ -889,7 +889,7 @@ static int net_conf_wrap_function(int (*fn)(struct smbconf_ctx *,
|
||||
struct smbconf_ctx *conf_ctx;
|
||||
int ret = -1;
|
||||
|
||||
werr = smbconf_init(mem_ctx, &conf_ctx);
|
||||
werr = smbconf_init_reg(mem_ctx, &conf_ctx);
|
||||
|
||||
if (!W_ERROR_IS_OK(werr)) {
|
||||
return -1;
|
||||
|
Reference in New Issue
Block a user