/// <summary> /// Constructs a new replica. /// </summary> /// <param name="dc">Domain controller</param> /// <param name="kind">Replica kind.</param> /// <param name="dn">Distinguished name.</param> /// <param name="partial">Is it partial replica</param> public Replica(ModelDomainController dc, ReplicaKind kind, string dn, bool partial) { this.dc = dc; this.kind = kind; this.dn = dn; this.partial = partial; this.root = new ModelObject(); root.dc = dc; AttributeContext objectClassContext = new AttributeContext( null, StandardNames.objectClass, Syntax.StringObjectIdentifier, false, null); AttributeContext cnContext = new AttributeContext( null, StandardNames.cn, Syntax.StringUnicode); switch (kind) { case ReplicaKind.Domain: root[StandardNames.objectClass] = objectClassContext.Parse(StandardNames.top + ";" + StandardNames.domainDNS); break; case ReplicaKind.Application: root[StandardNames.objectClass] = objectClassContext.Parse(StandardNames.top + ";" + StandardNames.domainDNS); break; case ReplicaKind.Configuration: root[StandardNames.cn] = cnContext.Parse("Configuration"); root[StandardNames.objectClass] = objectClassContext.Parse(StandardNames.top + ";" + StandardNames.configuration); break; case ReplicaKind.Schema: root[StandardNames.cn] = cnContext.Parse("Schema"); root[StandardNames.objectClass] = objectClassContext.Parse(StandardNames.top + ";" + StandardNames.dMD); break; } }
internal ReplicaStatus(ReplicaKind kind) { this.Kind = kind; }