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.Events.Edir.EventData.DebugEventData.cs 25 // 26 // Author: 27 // Anil Bhatia (banil@novell.com) 28 // 29 // (C) 2003 Novell, Inc (http://www.novell.com) 30 // 31 32 using System.Collections; 33 using System.Text; 34 35 using Novell.Directory.Ldap.Asn1; 36 37 namespace Novell.Directory.Ldap.Events.Edir.EventData 38 { 39 /// <summary> 40 /// This class represents the data for Debug Events. 41 /// </summary> 42 public class DebugEventData : BaseEdirEventData 43 { 44 protected int ds_time; 45 public int DSTime 46 { 47 get 48 { 49 return ds_time; 50 } 51 } 52 53 protected int milli_seconds; 54 public int MilliSeconds 55 { 56 get 57 { 58 return milli_seconds; 59 } 60 } 61 62 protected string strPerpetratorDN; 63 public string PerpetratorDN 64 { 65 get 66 { 67 return strPerpetratorDN; 68 } 69 } 70 71 protected string strFormatString; 72 public string FormatString 73 { 74 get 75 { 76 return strFormatString; 77 } 78 } 79 80 protected int nVerb; 81 public int Verb 82 { 83 get 84 { 85 return nVerb; 86 } 87 } 88 89 protected int parameter_count; 90 public int ParameterCount 91 { 92 get 93 { 94 return parameter_count; 95 } 96 } 97 98 protected ArrayList parameter_collection; 99 public ArrayList Parameters 100 { 101 get 102 { 103 return parameter_collection; 104 } 105 } 106 DebugEventData(EdirEventDataType eventDataType, Asn1Object message)107 public DebugEventData(EdirEventDataType eventDataType, Asn1Object message) 108 : base(eventDataType, message) 109 { 110 int[] length = new int[1]; 111 112 ds_time = ((Asn1Integer) decoder.decode(decodedData, length)).intValue(); 113 milli_seconds = 114 ((Asn1Integer) decoder.decode(decodedData, length)).intValue(); 115 116 strPerpetratorDN = 117 ((Asn1OctetString) decoder.decode(decodedData, length)).stringValue(); 118 strFormatString = 119 ((Asn1OctetString) decoder.decode(decodedData, length)).stringValue(); 120 nVerb = ((Asn1Integer) decoder.decode(decodedData, length)).intValue(); 121 parameter_count = 122 ((Asn1Integer) decoder.decode(decodedData, length)).intValue(); 123 124 parameter_collection = new ArrayList(); 125 126 if (parameter_count > 0) 127 { 128 Asn1Sequence seq = (Asn1Sequence) decoder.decode(decodedData, length); 129 for (int i = 0; i < parameter_count; i++) 130 { 131 parameter_collection.Add( 132 new DebugParameter((Asn1Tagged) seq.get_Renamed(i)) 133 ); 134 } 135 } 136 137 DataInitDone(); 138 } 139 140 /// <summary> 141 /// Returns a string representation of the object. 142 /// </summary> ToString()143 public override string ToString() 144 { 145 StringBuilder buf = new StringBuilder(); 146 buf.Append("[DebugEventData"); 147 buf.AppendFormat("(Millseconds={0})", milli_seconds); 148 buf.AppendFormat("(DSTime={0})", ds_time); 149 buf.AppendFormat("(PerpetratorDN={0})", strPerpetratorDN); 150 buf.AppendFormat("(Verb={0})",nVerb); 151 buf.AppendFormat("(ParameterCount={0})", parameter_count); 152 for (int i = 0; i < parameter_count; i++) 153 { 154 buf.AppendFormat("(Parameter[{0}]={1})", i, parameter_collection[i]); 155 } 156 buf.Append("]"); 157 158 return buf.ToString(); 159 } 160 } 161 } 162