* support-test-*.cs: Rename from test-*-p2.cs.
[mono.git] / mcs / class / Novell.Directory.Ldap / Novell.Directory.Ldap.Extensions / ReplicationConstants.cs
1 /******************************************************************************
2 * The MIT License
3 * Copyright (c) 2003 Novell Inc.  www.novell.com
4
5 * Permission is hereby granted, free of charge, to any person obtaining  a copy
6 * of this software and associated documentation files (the Software), to deal
7 * in the Software without restriction, including  without limitation the rights
8 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 
9 * copies of the Software, and to  permit persons to whom the Software is 
10 * furnished to do so, subject to the following conditions:
11
12 * The above copyright notice and this permission notice shall be included in 
13 * all copies or substantial portions of the Software.
14
15 * THE SOFTWARE IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 
16 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 
17 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 
19 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 * SOFTWARE.
22 *******************************************************************************/
23 //
24 // Novell.Directory.Ldap.Extensions.ReplicationConstants.cs
25 //
26 // Author:
27 //   Sunil Kumar (Sunilk@novell.com)
28 //
29 // (C) 2003 Novell, Inc (http://www.novell.com)
30 //
31
32 using System;
33
34 namespace Novell.Directory.Ldap.Extensions
35 {
36         
37         /*
38         * public class ReplicationConstants
39         */
40         
41         /// <summary> Contains a collection of constants used by the replication management 
42         /// in Novell Ldap extensions.
43         /// </summary>
44         public class ReplicationConstants
45         {
46                 
47                 /// <summary> A constant for the SplitPartitionRequest OID.</summary>
48                 public const System.String CREATE_NAMING_CONTEXT_REQ = "2.16.840.1.113719.1.27.100.3";
49                 
50                 /// <summary> A constant for the SplitPartitionResponse OID.</summary>
51                 public const System.String CREATE_NAMING_CONTEXT_RES = "2.16.840.1.113719.1.27.100.4";
52                 
53                 /// <summary> A constant for the mergePartitionRequest OID.</summary>
54                 public const System.String MERGE_NAMING_CONTEXT_REQ = "2.16.840.1.113719.1.27.100.5";
55                 
56                 /// <summary> A constant for the mergePartitionResponse OID.</summary>
57                 public const System.String MERGE_NAMING_CONTEXT_RES = "2.16.840.1.113719.1.27.100.6";
58                 
59                 /// <summary> A constant for the addReplicaRequest OID.</summary>
60                 public const System.String ADD_REPLICA_REQ = "2.16.840.1.113719.1.27.100.7";
61                 
62                 /// <summary> A constant for the addReplicaResponse OID.</summary>
63                 public const System.String ADD_REPLICA_RES = "2.16.840.1.113719.1.27.100.8";
64                 
65                 /// <summary> A constant for the refreshServerRequest OID.</summary>
66                 public const System.String REFRESH_SERVER_REQ = "2.16.840.1.113719.1.27.100.9";
67                 
68                 /// <summary> A constant for the refreshServerResponse OID.</summary>
69                 public const System.String REFRESH_SERVER_RES = "2.16.840.1.113719.1.27.100.10";
70                 
71                 /// <summary> A constant for the removeReplicaRequest OID.</summary>
72                 public const System.String DELETE_REPLICA_REQ = "2.16.840.1.113719.1.27.100.11";
73                 
74                 /// <summary> A constant for the removeReplicaResponse OID.</summary>
75                 public const System.String DELETE_REPLICA_RES = "2.16.840.1.113719.1.27.100.12";
76                 
77                 /// <summary> A constant for the partitionEntryCountRequest OID.</summary>
78                 public const System.String NAMING_CONTEXT_COUNT_REQ = "2.16.840.1.113719.1.27.100.13";
79                 
80                 /// <summary> A constant for the partitionEntryCountResponse OID.</summary>
81                 public const System.String NAMING_CONTEXT_COUNT_RES = "2.16.840.1.113719.1.27.100.14";
82                 
83                 /// <summary> A constant for the changeReplicaTypeRequest OID.</summary>
84                 public const System.String CHANGE_REPLICA_TYPE_REQ = "2.16.840.1.113719.1.27.100.15";
85                 
86                 /// <summary> A constant for the changeReplicaTypeResponse OID.</summary>
87                 public const System.String CHANGE_REPLICA_TYPE_RES = "2.16.840.1.113719.1.27.100.16";
88                 
89                 /// <summary> A constant for the getReplicaInfoRequest OID.</summary>
90                 public const System.String GET_REPLICA_INFO_REQ = "2.16.840.1.113719.1.27.100.17";
91                 
92                 /// <summary> A constant for the getReplicaInfoResponse OID.</summary>
93                 public const System.String GET_REPLICA_INFO_RES = "2.16.840.1.113719.1.27.100.18";
94                 
95                 /// <summary> A constant for the listReplicaRequest OID.</summary>
96                 public const System.String LIST_REPLICAS_REQ = "2.16.840.1.113719.1.27.100.19";
97                 
98                 /// <summary> A constant for the listReplicaResponse OID.</summary>
99                 public const System.String LIST_REPLICAS_RES = "2.16.840.1.113719.1.27.100.20";
100                 
101                 /// <summary> A constant for the receiveAllUpdatesRequest OID.</summary>
102                 public const System.String RECEIVE_ALL_UPDATES_REQ = "2.16.840.1.113719.1.27.100.21";
103                 
104                 /// <summary> A constant for the receiveAllUpdatesResponse OID.</summary>
105                 public const System.String RECEIVE_ALL_UPDATES_RES = "2.16.840.1.113719.1.27.100.22";
106                 
107                 /// <summary> A constant for the sendAllUpdatesRequest OID.</summary>
108                 public const System.String SEND_ALL_UPDATES_REQ = "2.16.840.1.113719.1.27.100.23";
109                 
110                 /// <summary> A constant for the sendAllUpdatesResponse OID.</summary>
111                 public const System.String SEND_ALL_UPDATES_RES = "2.16.840.1.113719.1.27.100.24";
112                 
113                 /// <summary> A constant for the requestPartitionSyncRequest OID.</summary>
114                 public const System.String NAMING_CONTEXT_SYNC_REQ = "2.16.840.1.113719.1.27.100.25";
115                 
116                 /// <summary> A constant for the requestPartitionSyncResponse OID.</summary>
117                 public const System.String NAMING_CONTEXT_SYNC_RES = "2.16.840.1.113719.1.27.100.26";
118                 
119                 /// <summary> A constant for the requestSchemaSyncRequest OID.</summary>
120                 public const System.String SCHEMA_SYNC_REQ = "2.16.840.1.113719.1.27.100.27";
121                 
122                 /// <summary> A constant for the requestSchemaSyncResponse OID.</summary>
123                 public const System.String SCHEMA_SYNC_RES = "2.16.840.1.113719.1.27.100.28";
124                 
125                 /// <summary> A constant for the abortPartitionOperationRequest OID.</summary>
126                 public const System.String ABORT_NAMING_CONTEXT_OP_REQ = "2.16.840.1.113719.1.27.100.29";
127                 
128                 /// <summary> A constant for the abortPartitionOperationResponse OID.</summary>
129                 public const System.String ABORT_NAMING_CONTEXT_OP_RES = "2.16.840.1.113719.1.27.100.30";
130                 
131                 /// <summary> A constant for the getContextIdentityNameRequest OID.</summary>
132                 public const System.String GET_IDENTITY_NAME_REQ = "2.16.840.1.113719.1.27.100.31";
133                 
134                 /// <summary> A constant for the getContextIdentityNameResponse OID.</summary>
135                 public const System.String GET_IDENTITY_NAME_RES = "2.16.840.1.113719.1.27.100.32";
136                 
137                 /// <summary> A constant for the getEffectivePrivilegesRequest OID.</summary>
138                 public const System.String GET_EFFECTIVE_PRIVILEGES_REQ = "2.16.840.1.113719.1.27.100.33";
139                 
140                 /// <summary> A constant for the getEffectivePrivilegesResponse OID.</summary>
141                 public const System.String GET_EFFECTIVE_PRIVILEGES_RES = "2.16.840.1.113719.1.27.100.34";
142                 
143                 /// <summary> A constant for the setReplicationFilterRequest OID.</summary>
144                 public const System.String SET_REPLICATION_FILTER_REQ = "2.16.840.1.113719.1.27.100.35";
145                 
146                 /// <summary> A constant for the setReplicationFilterResponse OID.</summary>
147                 public const System.String SET_REPLICATION_FILTER_RES = "2.16.840.1.113719.1.27.100.36";
148                 
149                 /// <summary> A constant for the getReplicationFilterRequest OID.</summary>
150                 public const System.String GET_REPLICATION_FILTER_REQ = "2.16.840.1.113719.1.27.100.37";
151                 
152                 /// <summary> A constant for the getReplicationFilterResponse OID.</summary>
153                 public const System.String GET_REPLICATION_FILTER_RES = "2.16.840.1.113719.1.27.100.38";
154                 
155                 /// <summary> A constant for the splitOrphanPartitionRequest OID.</summary>
156                 public const System.String CREATE_ORPHAN_NAMING_CONTEXT_REQ = "2.16.840.1.113719.1.27.100.39";
157                 
158                 /// <summary> A constant for the splitOrphanPartitionResponse OID.</summary>
159                 public const System.String CREATE_ORPHAN_NAMING_CONTEXT_RES = "2.16.840.1.113719.1.27.100.40";
160                 
161                 /// <summary> A constant for the removeOrphanPartitionRequest OID.</summary>
162                 public const System.String REMOVE_ORPHAN_NAMING_CONTEXT_REQ = "2.16.840.1.113719.1.27.100.41";
163                 
164                 /// <summary> A constant for the removeOrphanPartitionResponse OID.</summary>
165                 public const System.String REMOVE_ORPHAN_NAMING_CONTEXT_RES = "2.16.840.1.113719.1.27.100.42";
166                 
167                 /// <summary> A constant for the triggerBackLinkerRequest OID.</summary>
168                 public const System.String TRIGGER_BKLINKER_REQ = "2.16.840.1.113719.1.27.100.43";
169                 
170                 /// <summary> A constant for the triggerBackLinkerResponse OID.</summary>
171                 public const System.String TRIGGER_BKLINKER_RES = "2.16.840.1.113719.1.27.100.44";
172                 
173                 /// <summary> A constant for the triggerJanitorRequest OID.</summary>
174                 public const System.String TRIGGER_JANITOR_REQ = "2.16.840.1.113719.1.27.100.47";
175                 
176                 /// <summary> A constant for the triggerJanitorResponse OID.</summary>
177                 public const System.String TRIGGER_JANITOR_RES = "2.16.840.1.113719.1.27.100.48";
178                 
179                 /// <summary> A constant for the triggerLimberRequest OID.</summary>
180                 public const System.String TRIGGER_LIMBER_REQ = "2.16.840.1.113719.1.27.100.49";
181                 
182                 /// <summary> A constant for the triggerLimberResponse OID.</summary>
183                 public const System.String TRIGGER_LIMBER_RES = "2.16.840.1.113719.1.27.100.50";
184                 
185                 /// <summary> A constant for the triggerSkulkerRequest OID.</summary>
186                 public const System.String TRIGGER_SKULKER_REQ = "2.16.840.1.113719.1.27.100.51";
187                 
188                 /// <summary> A constant for the triggerSkulkerResponse OID.</summary>
189                 public const System.String TRIGGER_SKULKER_RES = "2.16.840.1.113719.1.27.100.52";
190                 
191                 /// <summary> A constant for the triggerSchemaSyncRequest OID.</summary>
192                 public const System.String TRIGGER_SCHEMA_SYNC_REQ = "2.16.840.1.113719.1.27.100.53";
193                 
194                 /// <summary> A constant for the triggerSchemaSyncResponse OID.</summary>
195                 public const System.String TRIGGER_SCHEMA_SYNC_RES = "2.16.840.1.113719.1.27.100.54";
196                 
197                 /// <summary> A constant for the triggerPartitionPurgeRequest OID.</summary>
198                 public const System.String TRIGGER_PART_PURGE_REQ = "2.16.840.1.113719.1.27.100.55";
199                 
200                 /// <summary> A constant for the triggerPartitionPurgeResponse OID.</summary>
201                 public const System.String TRIGGER_PART_PURGE_RES = "2.16.840.1.113719.1.27.100.56";
202                 
203                 
204                 /// <summary> A constant that specifies that all servers in a replica ring must be
205                 /// running for a partition operation to proceed.
206                 /// </summary>
207                 public const int Ldap_ENSURE_SERVERS_UP = 1;
208                 
209                 
210                 /// <summary> Identifies this replica as the master replica of the partition.
211                 /// 
212                 /// On this type of replica, entries can be modified, and partition
213                 /// operations can be performed.
214                 /// </summary>
215                 public const int Ldap_RT_MASTER = 0;
216                 
217                 /// <summary> Identifies this replica as a secondary replica of the partition.
218                 /// 
219                 /// On this type of replica, read and write operations can be performed,
220                 /// and entries can be modified.
221                 /// </summary>
222                 public const int Ldap_RT_SECONDARY = 1;
223                 
224                 /// <summary> Identifies this replica as a read-only replica of the partition.
225                 /// 
226                 /// Only Novell eDirectory synchronization processes can modified
227                 /// entries on this replica.
228                 /// </summary>
229                 public const int Ldap_RT_READONLY = 2;
230                 
231                 /// <summary> Identifies this replica as a subordinate reference replica of the
232                 /// partition.
233                 /// 
234                 /// NOvell eDirectory automatically adds these replicas to a server
235                 /// when the server does not contain replicas of all child partitions.
236                 /// Only eDirectory can modify information on these types of replicas.
237                 /// </summary>
238                 public const int Ldap_RT_SUBREF = 3;
239                 
240                 /// <summary> Identifies this replica as a read/write replica of the partition,
241                 /// but the replica contains sparse data.
242                 /// 
243                 /// The replica has been configured to contain only specified object types
244                 /// and attributes. On this type of replica, only the attributes and objects
245                 /// contained in the sparse data can be modified.
246                 /// </summary>
247                 public const int Ldap_RT_SPARSE_WRITE = 4;
248                 
249                 /// <summary> Identifies this replica as a read-only replica of the partition,
250                 /// but the replica contains sparse data.
251                 /// 
252                 /// The replica has been configured to contain only specified object types
253                 /// and attributes. On this type of replica, only Novell eDirectory
254                 /// synchronization processes can modify the sparse data.
255                 /// </summary>
256                 public const int Ldap_RT_SPARSE_READ = 5;
257                 
258                 //Replica States
259                 
260                 /// <summary> Indicates that the replica is fully functioning and capable of responding
261                 /// to requests.
262                 /// </summary>
263                 public const int Ldap_RS_ON = 0;
264                 
265                 /// <summary> Indicates that a new replica has been added but has not received a full
266                 /// download of information from the replica ring.
267                 /// </summary>
268                 public const int Ldap_RS_NEW_REPLICA = 1;
269                 
270                 /// <summary> Indicates that the replica is being deleted and that the request has
271                 /// been received.
272                 /// </summary>
273                 public const int Ldap_RS_DYING_REPLICA = 2;
274                 
275                 /// <summary> Indicates that the replica is locked. The move operation uses this state
276                 /// to lock the parent partition of the child partition that is moving.
277                 /// </summary>
278                 public const int Ldap_RS_LOCKED = 3;
279                 
280                 /// <summary> Indicates that a new replica has finished receiving its download from the
281                 /// master replica and is now receiving synchronization updates from other
282                 /// replicas.
283                 /// </summary>
284                 public const int Ldap_RS_TRANSITION_ON = 6;
285                 
286                 
287                 /// <summary> Indicates that the dying replica needs to synchronize with another replica
288                 /// before being converted either to an external reference, if a root replica,
289                 /// or to a subordinate reference, if a non-root replica.
290                 /// </summary>
291                 public const int Ldap_RS_DEAD_REPLICA = 7;
292                 
293                 /// <summary> Indicates that the subordinate references of the new replica are being
294                 /// added.
295                 /// </summary>
296                 public const int Ldap_RS_BEGIN_ADD = 8;
297                 
298                 /// <summary> Indicates that a partition is receiving a new master replica.
299                 /// 
300                 /// The replica that will be the new master replica is set to this state.
301                 /// </summary>
302                 public const int Ldap_RS_MASTER_START = 11;
303                 
304                 /// <summary> Indicates that a partition has a new master replica.
305                 /// 
306                 /// When the new master is set to this state, Novell eDirectory knows
307                 /// that the replica is now the master and changes its replica type to
308                 /// master and the old master to read/write.
309                 /// </summary>
310                 public const int Ldap_RS_MASTER_DONE = 12;
311                 
312                 /// <summary> Indicates that the partition is going to split into two partitions.
313                 /// 
314                 /// In this state, other replicas of the partition are informed of the
315                 /// pending split.
316                 /// </summary>
317                 public const int Ldap_RS_SS_0 = 48; // Replica splitting 0
318                 
319                 /// <summary> Indicates that that the split partition operation has started.
320                 /// 
321                 /// When the split is finished, the state will change to RS_ON.
322                 /// </summary>
323                 public const int Ldap_RS_SS_1 = 49; // Replica splitting 1
324                 
325                 /// <summary> Indicates that that two partitions are in the process of joining
326                 /// into one partition.
327                 /// 
328                 /// In this state, the replicas that are affected are informed of the join
329                 /// operation. The master replica of the parent and child partitions are
330                 /// first set to this state and then all the replicas of the parent and child.
331                 /// New replicas are added where needed.
332                 /// </summary>
333                 public const int Ldap_RS_JS_0 = 64; // Replica joining 0
334                 
335                 /// <summary> Indicates that that two partitions are in the process of joining
336                 /// into one partition.
337                 /// 
338                 /// This state indicates that the join operation is waiting for the new
339                 /// replicas to synchronize and move to the RS_ON state.
340                 /// </summary>
341                 public const int Ldap_RS_JS_1 = 65; // Replica joining 1
342                 
343                 /// <summary> Indicates that that two partitions are in the process of joining
344                 /// into one partition.
345                 /// 
346                 /// This state indicates that all the new replicas are in the RS_ON state
347                 /// and that the rest of the work can be completed.
348                 /// </summary>
349                 public const int Ldap_RS_JS_2 = 66; // Replica joining 2
350                 
351                 
352                 // Values for flags used in the replica info class structure
353                 
354                 /// <summary> Indicates that the replica is involved with a partition operation,
355                 /// for example, merging a tree or moving a subtree.
356                 /// </summary>
357                 public const int Ldap_DS_FLAG_BUSY = 0x0001;
358                 
359                 /// <summary> Indicates that this partition is on the DNS federation boundary.
360                 /// This flag is only set on DNS trees.
361                 /// </summary>
362                 public const int Ldap_DS_FLAG_BOUNDARY = 0x0002;
363                 
364                 
365                 public ReplicationConstants()
366                 {
367                 }
368         }
369 }