diff options
Diffstat (limited to 'src/mscorlib/src/System/Runtime/InteropServices/ComEventsInfo.cs')
-rw-r--r-- | src/mscorlib/src/System/Runtime/InteropServices/ComEventsInfo.cs | 50 |
1 files changed, 28 insertions, 22 deletions
diff --git a/src/mscorlib/src/System/Runtime/InteropServices/ComEventsInfo.cs b/src/mscorlib/src/System/Runtime/InteropServices/ComEventsInfo.cs index 2456ba35bf..0fbe34db8d 100644 --- a/src/mscorlib/src/System/Runtime/InteropServices/ComEventsInfo.cs +++ b/src/mscorlib/src/System/Runtime/InteropServices/ComEventsInfo.cs @@ -11,64 +11,70 @@ ** **/ -namespace System.Runtime.InteropServices { - +namespace System.Runtime.InteropServices +{ using System; using ComTypes = System.Runtime.InteropServices.ComTypes; // see code:ComEventsHelper#ComEventsArchitecture - internal class ComEventsInfo { - - -#region fields + internal class ComEventsInfo + { + #region fields private ComEventsSink _sinks; private object _rcw; -#endregion + #endregion -#region ctor/dtor + #region ctor/dtor - ComEventsInfo(object rcw) { + private ComEventsInfo(object rcw) + { _rcw = rcw; } - ~ComEventsInfo() { + ~ComEventsInfo() + { // see code:ComEventsHelper#ComEventsFinalization _sinks = ComEventsSink.RemoveAll(_sinks); } -#endregion + #endregion -#region static methods + #region static methods - internal static ComEventsInfo Find(object rcw) { + internal static ComEventsInfo Find(object rcw) + { return (ComEventsInfo)Marshal.GetComObjectData(rcw, typeof(ComEventsInfo)); } // it is caller's responsibility to call this method under lock(rcw) - internal static ComEventsInfo FromObject(object rcw) { + internal static ComEventsInfo FromObject(object rcw) + { ComEventsInfo eventsInfo = Find(rcw); - if (eventsInfo == null) { + if (eventsInfo == null) + { eventsInfo = new ComEventsInfo(rcw); Marshal.SetComObjectData(rcw, typeof(ComEventsInfo), eventsInfo); } return eventsInfo; } -#endregion + #endregion -#region internal methods + #region internal methods - internal ComEventsSink FindSink(ref Guid iid) { + internal ComEventsSink FindSink(ref Guid iid) + { return ComEventsSink.Find(_sinks, ref iid); } // it is caller's responsibility to call this method under lock(rcw) - internal ComEventsSink AddSink(ref Guid iid) { + internal ComEventsSink AddSink(ref Guid iid) + { ComEventsSink sink = new ComEventsSink(_rcw, iid); _sinks = ComEventsSink.Add(_sinks, sink); @@ -76,12 +82,12 @@ namespace System.Runtime.InteropServices { } // it is caller's responsibility to call this method under lock(rcw) - internal ComEventsSink RemoveSink(ComEventsSink sink) { + internal ComEventsSink RemoveSink(ComEventsSink sink) + { _sinks = ComEventsSink.Remove(_sinks, sink); return _sinks; } -#endregion - + #endregion } } |