return ctx->ops->is_writeable(ctx);
}
+/**
+ * utitlity function:
+ * check whether a config source is writeable,
+ * given only the name of the config source.
+ */
+bool smbconf_is_writeable_bystring(const char *configsource)
+{
+ struct smbconf_ctx *conf_ctx;
+ WERROR err;
+ bool ret;
+ TALLOC_CTX *mem_ctx = talloc_stackframe;
+
+ err = smbconf_init_reg(mem_ctx, &conf_ctx, configsource);
+ if (!W_ERROR_IS_OK(err)) {
+ ret = false;
+ goto done;
+ }
+
+ ret = smbconf_is_writeable(conf_ctx);
+
+done:
+ smbconf_shutdown(conf_ctx);
+ TALLOC_FREE(mem_ctx);
+ return ret;
+}
+
/**
* Close the configuration.
*/
*/
bool smbconf_backend_requires_messaging(struct smbconf_ctx *ctx);
bool smbconf_is_writeable(struct smbconf_ctx *ctx);
+bool smbconf_is_writeable_bystring(const char *configsource);
void smbconf_shutdown(struct smbconf_ctx *ctx);
bool smbconf_changed(struct smbconf_ctx *ctx, struct smbconf_csn *csn,
const char *service, const char *param);