s3-libnet-samsync: add samsync_ops.
authorGünther Deschner <gd@samba.org>
Mon, 17 Nov 2008 15:28:34 +0000 (16:28 +0100)
committerGünther Deschner <gd@samba.org>
Tue, 18 Nov 2008 15:04:21 +0000 (16:04 +0100)
Guenther

source3/libnet/libnet_samsync.h

index 4a356e2eed267fb7e500947b6c4341fe9c8617c2..42bf8d15370611990003107078959f4432ab2fae 100644 (file)
@@ -32,6 +32,21 @@ typedef NTSTATUS (*samsync_delta_fn_t)(TALLOC_CTX *,
                                       struct netr_DELTA_ENUM_ARRAY *,
                                       bool,
                                       struct samsync_context *);
+struct samsync_ops {
+       NTSTATUS (*startup)(TALLOC_CTX *mem_ctx,
+                           struct samsync_context *ctx,
+                           enum netr_SamDatabaseID id,
+                           uint64_t *sequence_num);
+       NTSTATUS (*process_objects)(TALLOC_CTX *mem_ctx,
+                                   enum netr_SamDatabaseID id,
+                                   struct netr_DELTA_ENUM_ARRAY *array,
+                                   bool last_query,
+                                   struct samsync_context *ctx);
+       NTSTATUS (*finish)(TALLOC_CTX *mem_ctx,
+                          struct samsync_context *ctx,
+                          enum netr_SamDatabaseID id,
+                          uint64_t sequence_num);
+};
 
 struct samsync_object {
        uint16_t database_id;
@@ -64,6 +79,9 @@ struct samsync_context {
        struct samsync_object *objects;
 
        struct rpc_pipe_client *cli;
+
+       const struct samsync_ops *ops;
+
        samsync_delta_fn_t delta_fn;
        void *private_data;
 };