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.Rfc2251.RfcDelRequest.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 using Novell.Directory.Ldap.Asn1;
34 using Novell.Directory.Ldap;
35 
36 namespace Novell.Directory.Ldap.Rfc2251
37 {
38 
39 	/// <summary> Represents an Ldap Delete Request.
40 	///
41 	/// <pre>
42 	/// DelRequest ::= [APPLICATION 10] LdapDN
43 	/// </pre>
44 	/// </summary>
45 	public class RfcDelRequest:RfcLdapDN, RfcRequest
46 	{
47 
48 		//*************************************************************************
49 		// Constructor for DelRequest
50 		//*************************************************************************
51 
52 		/// <summary> Constructs an Ldapv3 delete request protocol operation.
53 		///
54 		/// </summary>
55 		/// <param name="dn">The Distinguished Name of the entry to delete.
56 		/// </param>
RfcDelRequest(System.String dn)57 		public RfcDelRequest(System.String dn):base(dn)
58 		{
59 		}
60 
61 		/// <summary> Constructs an Ldapv3 delete request protocol operation.
62 		///
63 		/// </summary>
64 		/// <param name="dn">The Distinguished Name of the entry to delete.
65 		/// </param>
66 		[CLSCompliantAttribute(false)]
RfcDelRequest(sbyte[] dn)67 		public RfcDelRequest(sbyte[] dn):base(dn)
68 		{
69 		}
70 
71 		/// <summary> Override getIdentifier() to return the appropriate application-wide id
72 		/// representing this delete request. The getIdentifier() method is called
73 		/// when this object is encoded.
74 		///
75 		/// Identifier = CLASS: APPLICATION, FORM: CONSTRUCTED, TAG: 10
76 		/// </summary>
getIdentifier()77 		public override Asn1Identifier getIdentifier()
78 		{
79 			return new Asn1Identifier(Asn1Identifier.APPLICATION, false, LdapMessage.DEL_REQUEST);
80 		}
81 
dupRequest(System.String base_Renamed, System.String filter, bool request)82 		public RfcRequest dupRequest(System.String base_Renamed, System.String filter, bool request)
83 		{
84 			if ((System.Object) base_Renamed == null)
85 			{
86 				return new RfcDelRequest(byteValue());
87 			}
88 			else
89 			{
90 				return new RfcDelRequest(base_Renamed);
91 			}
92 		}
getRequestDN()93 		public System.String getRequestDN()
94 		{
95 			return base.stringValue();
96 		}
97 	}
98 }
99