2008-12-08 Ivan N. Zlatev <contact@i-nz.net>
[mono.git] / mcs / class / corlib / System.Runtime.InteropServices / _EventInfo.cs
1 //
2 // System.Runtime.InteropServices._EventInfo interface
3 //
4 // Author:
5 //   Kazuki Oikawa  (kazuki@panicode.com)
6 //
7
8 #if NET_1_1
9
10 using System;
11 using System.Reflection;
12
13 namespace System.Runtime.InteropServices
14 {
15         [CLSCompliant (false)]
16         [InterfaceType (ComInterfaceType.InterfaceIsIUnknown)]
17         [Guid ("9DE59C64-D889-35A1-B897-587D74469E5B")]
18         [TypeLibImportClass (typeof (EventInfo))]
19 #if NET_2_0
20         [ComVisible (true)]
21 #endif
22         public interface _EventInfo
23         {
24                 void AddEventHandler (object target, Delegate handler);
25
26                 bool Equals (object other);
27
28                 MethodInfo GetAddMethod ();
29
30                 MethodInfo GetAddMethod (bool nonPublic);
31
32                 object[] GetCustomAttributes (bool inherit);
33
34                 object[] GetCustomAttributes (Type attributeType, bool inherit);
35
36                 int GetHashCode ();
37
38                 void GetIDsOfNames ([In] ref Guid riid, IntPtr rgszNames, uint cNames, uint lcid, IntPtr rgDispId);
39
40                 void GetTypeInfo (uint iTInfo, uint lcid, IntPtr ppTInfo);
41
42                 void GetTypeInfoCount (out uint pcTInfo);
43
44                 void Invoke (uint dispIdMember, [In] ref Guid riid, uint lcid, short wFlags, IntPtr pDispParams,
45                         IntPtr pVarResult, IntPtr pExcepInfo, IntPtr puArgErr);
46
47                 MethodInfo GetRaiseMethod ();
48
49                 MethodInfo GetRaiseMethod (bool nonPublic);
50
51                 MethodInfo GetRemoveMethod ();
52
53                 MethodInfo GetRemoveMethod (bool nonPublic);
54
55                 Type GetType ();
56
57                 bool IsDefined (Type attributeType, bool inherit);
58
59                 void RemoveEventHandler (object target, Delegate handler);
60
61                 string ToString ();
62
63                 EventAttributes Attributes {get;}
64
65                 Type DeclaringType {get;}
66
67                 Type EventHandlerType {get;}
68
69                 bool IsMulticast {get;}
70
71                 bool IsSpecialName {get;}
72
73                 MemberTypes MemberType {get;}
74
75                 string Name {get;}
76
77                 Type ReflectedType {get;}
78         }
79 }
80 #endif