summaryrefslogtreecommitdiff
path: root/source3/lib/smbconf
diff options
context:
space:
mode:
authorMichael Adam <obnox@samba.org>2009-02-24 10:52:30 +0100
committerMichael Adam <obnox@samba.org>2009-02-26 11:05:23 +0100
commitbd121b532cf5a6728b7605072f725cc9c6d47f48 (patch)
treea50f7d1d4fe399dc46417526f62e4f68ac1781d1 /source3/lib/smbconf
parent9f97674ef759c65b874028b7af01fcc65f8dac23 (diff)
downloadsamba-bd121b532cf5a6728b7605072f725cc9c6d47f48.tar.gz
samba-bd121b532cf5a6728b7605072f725cc9c6d47f48.tar.bz2
samba-bd121b532cf5a6728b7605072f725cc9c6d47f48.zip
s3:libsmbconf: add transactions to the libsmbconf api
This is useful for wrapping higher level aggregate operations in transactions. The text backend implementations just return WERR_OK, the registry backend implementatoins use the regdb_transaction_start|commit|cancel routines just added. Michael
Diffstat (limited to 'source3/lib/smbconf')
-rw-r--r--source3/lib/smbconf/smbconf_reg.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/source3/lib/smbconf/smbconf_reg.c b/source3/lib/smbconf/smbconf_reg.c
index b1e34e5164..5a5c0ead65 100644
--- a/source3/lib/smbconf/smbconf_reg.c
+++ b/source3/lib/smbconf/smbconf_reg.c
@@ -1066,6 +1066,21 @@ done:
return werr;
}
+static WERROR smbconf_reg_transaction_start(struct smbconf_ctx *ctx)
+{
+ return regdb_transaction_start();
+}
+
+static WERROR smbconf_reg_transaction_commit(struct smbconf_ctx *ctx)
+{
+ return regdb_transaction_commit();
+}
+
+static WERROR smbconf_reg_transaction_cancel(struct smbconf_ctx *ctx)
+{
+ return regdb_transaction_cancel();
+}
+
struct smbconf_ops smbconf_ops_reg = {
.init = smbconf_reg_init,
.shutdown = smbconf_reg_shutdown,
@@ -1086,6 +1101,9 @@ struct smbconf_ops smbconf_ops_reg = {
.get_includes = smbconf_reg_get_includes,
.set_includes = smbconf_reg_set_includes,
.delete_includes = smbconf_reg_delete_includes,
+ .transaction_start = smbconf_reg_transaction_start,
+ .transaction_commit = smbconf_reg_transaction_commit,
+ .transaction_cancel = smbconf_reg_transaction_cancel,
};