2005-01-31 Zoltan Varga <vargaz@freemail.hu>
[mono.git] / mcs / class / Novell.Directory.Ldap / Novell.Directory.Ldap.Rfc2251 / RfcDelRequest.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.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>
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)]
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>
77                 public override Asn1Identifier getIdentifier()
78                 {
79                         return new Asn1Identifier(Asn1Identifier.APPLICATION, false, LdapMessage.DEL_REQUEST);
80                 }
81                 
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                 }
93                 public System.String getRequestDN()
94                 {
95                         return base.stringValue();
96                 }
97         }
98 }