r20682: make the dsdb_extended_replicated_objects_commit() interface a bit more useful,
authorStefan Metzmacher <metze@samba.org>
Thu, 11 Jan 2007 10:21:38 +0000 (10:21 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 19:40:21 +0000 (14:40 -0500)
so that we can apply the schema partition objects with one call

metze
(This used to be commit 165ff94b8a89ef4b9145405633ed11ab9567376b)

source4/dsdb/repl/replicated_objects.c
source4/dsdb/samdb/samdb.h

index 3a914c67747992b0c97197193d0d6d7fd43e9ce9..0ccb46b9c8988cdef53383b0452c23c43fbfa84e 100644 (file)
@@ -178,37 +178,23 @@ static WERROR dsdb_convert_object(struct ldb_context *ldb,
 WERROR dsdb_extended_replicated_objects_commit(struct ldb_context *ldb,
                                               const char *partition_dn,
                                               const struct dsdb_schema *schema,
-                                              uint32_t ctr_level,
-                                              const struct drsuapi_DsGetNCChangesCtr1 *ctr1,
-                                              const struct drsuapi_DsGetNCChangesCtr6 *ctr6,
+                                              const struct drsuapi_DsReplicaOIDMapping_Ctr *mapping_ctr,
+                                              uint32_t object_count,
+                                              const struct drsuapi_DsReplicaObjectListItemEx *first_object,
+                                              uint32_t linked_attributes_count,
+                                              const struct drsuapi_DsReplicaLinkedAttribute *linked_attributes,
+                                              const struct drsuapi_DsReplicaHighWaterMark *new_highwatermark,
+                                              const struct drsuapi_DsReplicaCursor2CtrEx *uptodateness_vector,
                                               TALLOC_CTX *mem_ctx,
                                               struct dsdb_extended_replicated_objects **_out)
 {
        WERROR status;
        struct dsdb_extended_replicated_objects *out;
        struct ldb_result *ext_res;
-       const struct drsuapi_DsReplicaOIDMapping_Ctr *mapping_ctr;
-       uint32_t object_count;
-       struct drsuapi_DsReplicaObjectListItemEx *first_object;
-       struct drsuapi_DsReplicaObjectListItemEx *cur;
+       const struct drsuapi_DsReplicaObjectListItemEx *cur;
        uint32_t i;
        int ret;
 
-       switch (ctr_level) {
-       case 1:
-               mapping_ctr             = &ctr1->mapping_ctr;
-               object_count            = ctr1->object_count;
-               first_object            = ctr1->first_object;
-               break;
-       case 6:
-               mapping_ctr             = &ctr6->mapping_ctr;
-               object_count            = ctr6->object_count;
-               first_object            = ctr6->first_object;
-               break;
-       default:
-               return WERR_INVALID_PARAM;
-       }
-
        status = dsdb_verify_oid_mappings(schema, mapping_ctr);
        W_ERROR_NOT_OK_RETURN(status);
 
index 2387852be8bcb3e0ffe28f0290a4c872e502824f..14577400ba9f8b8cdf63d47132c90b2d006cbdb1 100644 (file)
 #define __SAMDB_H__
 
 struct auth_session_info;
-struct drsuapi_DsNameInfo1;
-struct drsuapi_DsReplicaObject;
-struct drsuapi_DsReplicaOIDMapping_Ctr;
-struct drsuapi_DsReplicaAttribute;
-struct drsuapi_DsGetNCChangesCtr1;
-struct drsuapi_DsGetNCChangesCtr6;
-struct replPropertyMetaDataBlob;
-struct ldb_dn;
-struct ldb_message;
+struct dsdb_extended_replicated_object;
+struct dsdb_extended_replicated_objects;
+
+#include "librpc/gen_ndr/security.h"
+#include "lib/ldb/include/ldb.h"
+#include "librpc/gen_ndr/samr.h"
+#include "librpc/gen_ndr/drsuapi.h"
+#include "librpc/gen_ndr/drsblobs.h"
+#include "dsdb/schema/schema.h"
+#include "dsdb/samdb/samdb_proto.h"
 
 #define DSDB_CONTROL_REPLICATED_OBJECT_OID "1.3.6.1.4.1.7165.4.3.1"
 struct dsdb_control_replicated_object {
@@ -53,10 +54,4 @@ struct dsdb_extended_replicated_objects {
        struct dsdb_extended_replicated_object *objects;
 };
 
-#include "librpc/gen_ndr/security.h"
-#include "lib/ldb/include/ldb.h"
-#include "librpc/gen_ndr/samr.h"
-#include "dsdb/schema/schema.h"
-#include "dsdb/samdb/samdb_proto.h"
-
 #endif /* __SAMDB_H__ */