mirror of
https://github.com/vxunderground/MalwareSourceCode.git
synced 2024-12-22 19:36:11 +00:00
1700 lines
43 KiB
C#
1700 lines
43 KiB
C#
|
// Decompiled with JetBrains decompiler
|
|||
|
// Type: .
|
|||
|
// Assembly: AudioHD, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
|
|||
|
// MVID: A79492AA-5FAA-4ED2-ACC6-3D90AD665D99
|
|||
|
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00000-msil\Trojan-Dropper.Win32.Sysn.awyx-36fae8d04bf5f7d873dd5aa10ad92403f80b9af8b6ef91319e70ea2c9c043024.exe
|
|||
|
|
|||
|
using \u0004;
|
|||
|
using \u0005;
|
|||
|
using \u0006;
|
|||
|
using \u0007;
|
|||
|
using System;
|
|||
|
using System.Collections;
|
|||
|
using System.Runtime.InteropServices;
|
|||
|
using System.Runtime.InteropServices.ComTypes;
|
|||
|
using System.Threading;
|
|||
|
|
|||
|
namespace \u0007
|
|||
|
{
|
|||
|
internal sealed class \u0006 : IDisposable, \u0001
|
|||
|
{
|
|||
|
private IConnectionPointContainer \u0001;
|
|||
|
private ArrayList \u0001;
|
|||
|
private IConnectionPoint \u0001;
|
|||
|
|
|||
|
private void \u000F()
|
|||
|
{
|
|||
|
IConnectionPoint ppCP = (IConnectionPoint) null;
|
|||
|
Guid riid = new Guid(new byte[16]
|
|||
|
{
|
|||
|
(byte) 91,
|
|||
|
(byte) 117,
|
|||
|
(byte) 36,
|
|||
|
(byte) 56,
|
|||
|
(byte) 171,
|
|||
|
(byte) 240,
|
|||
|
(byte) 154,
|
|||
|
(byte) 64,
|
|||
|
(byte) 163,
|
|||
|
(byte) 13,
|
|||
|
(byte) 20,
|
|||
|
(byte) 184,
|
|||
|
(byte) 16,
|
|||
|
(byte) 125,
|
|||
|
(byte) 224,
|
|||
|
(byte) 234
|
|||
|
});
|
|||
|
this.\u0001.FindConnectionPoint(ref riid, out ppCP);
|
|||
|
this.\u0001 = ppCP;
|
|||
|
this.\u0001 = new ArrayList();
|
|||
|
}
|
|||
|
|
|||
|
public virtual void add_OnGroupAdded([In] \u0002 obj0)
|
|||
|
{
|
|||
|
Monitor.Enter((object) this);
|
|||
|
try
|
|||
|
{
|
|||
|
if (this.\u0001 == null)
|
|||
|
this.\u000F();
|
|||
|
\u0007.\u0005 pUnkSink = new \u0007.\u0005();
|
|||
|
int pdwCookie = 0;
|
|||
|
this.\u0001.Advise((object) pUnkSink, out pdwCookie);
|
|||
|
pUnkSink.\u0001 = pdwCookie;
|
|||
|
pUnkSink.\u0001 = obj0;
|
|||
|
this.\u0001.Add((object) pUnkSink);
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
Monitor.Exit((object) this);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public virtual void remove_OnGroupAdded([In] \u0002 obj0)
|
|||
|
{
|
|||
|
Monitor.Enter((object) this);
|
|||
|
try
|
|||
|
{
|
|||
|
if (this.\u0001 == null)
|
|||
|
return;
|
|||
|
int count = this.\u0001.Count;
|
|||
|
int index = 0;
|
|||
|
if (0 >= count)
|
|||
|
return;
|
|||
|
do
|
|||
|
{
|
|||
|
\u0007.\u0005 obj = (\u0007.\u0005) this.\u0001[index];
|
|||
|
if (obj.\u0001 != null && ((obj.\u0001.Equals((object) obj0) ? 1 : 0) & (int) byte.MaxValue) != 0)
|
|||
|
{
|
|||
|
this.\u0001.RemoveAt(index);
|
|||
|
this.\u0001.Unadvise(obj.\u0001);
|
|||
|
if (count <= 1)
|
|||
|
{
|
|||
|
Marshal.ReleaseComObject((object) this.\u0001);
|
|||
|
this.\u0001 = (IConnectionPoint) null;
|
|||
|
this.\u0001 = (ArrayList) null;
|
|||
|
return;
|
|||
|
}
|
|||
|
goto label_4;
|
|||
|
}
|
|||
|
else
|
|||
|
++index;
|
|||
|
}
|
|||
|
while (index < count);
|
|||
|
goto label_11;
|
|||
|
label_4:
|
|||
|
return;
|
|||
|
label_11:;
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
Monitor.Exit((object) this);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public virtual void add_OnGroupRemoved([In] \u0003 obj0)
|
|||
|
{
|
|||
|
Monitor.Enter((object) this);
|
|||
|
try
|
|||
|
{
|
|||
|
if (this.\u0001 == null)
|
|||
|
this.\u000F();
|
|||
|
\u0007.\u0005 pUnkSink = new \u0007.\u0005();
|
|||
|
int pdwCookie = 0;
|
|||
|
this.\u0001.Advise((object) pUnkSink, out pdwCookie);
|
|||
|
pUnkSink.\u0001 = pdwCookie;
|
|||
|
pUnkSink.\u0001 = obj0;
|
|||
|
this.\u0001.Add((object) pUnkSink);
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
Monitor.Exit((object) this);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public virtual void remove_OnGroupRemoved([In] \u0003 obj0)
|
|||
|
{
|
|||
|
Monitor.Enter((object) this);
|
|||
|
try
|
|||
|
{
|
|||
|
if (this.\u0001 == null)
|
|||
|
return;
|
|||
|
int count = this.\u0001.Count;
|
|||
|
int index = 0;
|
|||
|
if (0 >= count)
|
|||
|
return;
|
|||
|
do
|
|||
|
{
|
|||
|
\u0007.\u0005 obj = (\u0007.\u0005) this.\u0001[index];
|
|||
|
if (obj.\u0001 != null && ((obj.\u0001.Equals((object) obj0) ? 1 : 0) & (int) byte.MaxValue) != 0)
|
|||
|
{
|
|||
|
this.\u0001.RemoveAt(index);
|
|||
|
this.\u0001.Unadvise(obj.\u0001);
|
|||
|
if (count <= 1)
|
|||
|
{
|
|||
|
Marshal.ReleaseComObject((object) this.\u0001);
|
|||
|
this.\u0001 = (IConnectionPoint) null;
|
|||
|
this.\u0001 = (ArrayList) null;
|
|||
|
return;
|
|||
|
}
|
|||
|
goto label_4;
|
|||
|
}
|
|||
|
else
|
|||
|
++index;
|
|||
|
}
|
|||
|
while (index < count);
|
|||
|
goto label_11;
|
|||
|
label_4:
|
|||
|
return;
|
|||
|
label_11:;
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
Monitor.Exit((object) this);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public virtual void add_OnGroupNameChanged([In] \u0004.\u0004 obj0)
|
|||
|
{
|
|||
|
Monitor.Enter((object) this);
|
|||
|
try
|
|||
|
{
|
|||
|
if (this.\u0001 == null)
|
|||
|
this.\u000F();
|
|||
|
\u0007.\u0005 pUnkSink = new \u0007.\u0005();
|
|||
|
int pdwCookie = 0;
|
|||
|
this.\u0001.Advise((object) pUnkSink, out pdwCookie);
|
|||
|
pUnkSink.\u0001 = pdwCookie;
|
|||
|
pUnkSink.\u0001 = obj0;
|
|||
|
this.\u0001.Add((object) pUnkSink);
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
Monitor.Exit((object) this);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public virtual void remove_OnGroupNameChanged([In] \u0004.\u0004 obj0)
|
|||
|
{
|
|||
|
Monitor.Enter((object) this);
|
|||
|
try
|
|||
|
{
|
|||
|
if (this.\u0001 == null)
|
|||
|
return;
|
|||
|
int count = this.\u0001.Count;
|
|||
|
int index = 0;
|
|||
|
if (0 >= count)
|
|||
|
return;
|
|||
|
do
|
|||
|
{
|
|||
|
\u0007.\u0005 obj = (\u0007.\u0005) this.\u0001[index];
|
|||
|
if (obj.\u0001 != null && ((obj.\u0001.Equals((object) obj0) ? 1 : 0) & (int) byte.MaxValue) != 0)
|
|||
|
{
|
|||
|
this.\u0001.RemoveAt(index);
|
|||
|
this.\u0001.Unadvise(obj.\u0001);
|
|||
|
if (count <= 1)
|
|||
|
{
|
|||
|
Marshal.ReleaseComObject((object) this.\u0001);
|
|||
|
this.\u0001 = (IConnectionPoint) null;
|
|||
|
this.\u0001 = (ArrayList) null;
|
|||
|
return;
|
|||
|
}
|
|||
|
goto label_4;
|
|||
|
}
|
|||
|
else
|
|||
|
++index;
|
|||
|
}
|
|||
|
while (index < count);
|
|||
|
goto label_11;
|
|||
|
label_4:
|
|||
|
return;
|
|||
|
label_11:;
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
Monitor.Exit((object) this);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public virtual void add_OnContactAddedToGroup([In] \u0004.\u0005 obj0)
|
|||
|
{
|
|||
|
Monitor.Enter((object) this);
|
|||
|
try
|
|||
|
{
|
|||
|
if (this.\u0001 == null)
|
|||
|
this.\u000F();
|
|||
|
\u0007.\u0005 pUnkSink = new \u0007.\u0005();
|
|||
|
int pdwCookie = 0;
|
|||
|
this.\u0001.Advise((object) pUnkSink, out pdwCookie);
|
|||
|
pUnkSink.\u0001 = pdwCookie;
|
|||
|
pUnkSink.\u0001 = obj0;
|
|||
|
this.\u0001.Add((object) pUnkSink);
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
Monitor.Exit((object) this);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public virtual void remove_OnContactAddedToGroup([In] \u0004.\u0005 obj0)
|
|||
|
{
|
|||
|
Monitor.Enter((object) this);
|
|||
|
try
|
|||
|
{
|
|||
|
if (this.\u0001 == null)
|
|||
|
return;
|
|||
|
int count = this.\u0001.Count;
|
|||
|
int index = 0;
|
|||
|
if (0 >= count)
|
|||
|
return;
|
|||
|
do
|
|||
|
{
|
|||
|
\u0007.\u0005 obj = (\u0007.\u0005) this.\u0001[index];
|
|||
|
if (obj.\u0001 != null && ((obj.\u0001.Equals((object) obj0) ? 1 : 0) & (int) byte.MaxValue) != 0)
|
|||
|
{
|
|||
|
this.\u0001.RemoveAt(index);
|
|||
|
this.\u0001.Unadvise(obj.\u0001);
|
|||
|
if (count <= 1)
|
|||
|
{
|
|||
|
Marshal.ReleaseComObject((object) this.\u0001);
|
|||
|
this.\u0001 = (IConnectionPoint) null;
|
|||
|
this.\u0001 = (ArrayList) null;
|
|||
|
return;
|
|||
|
}
|
|||
|
goto label_4;
|
|||
|
}
|
|||
|
else
|
|||
|
++index;
|
|||
|
}
|
|||
|
while (index < count);
|
|||
|
goto label_11;
|
|||
|
label_4:
|
|||
|
return;
|
|||
|
label_11:;
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
Monitor.Exit((object) this);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public virtual void add_OnContactRemovedFromGroup([In] \u0004.\u0006 obj0)
|
|||
|
{
|
|||
|
Monitor.Enter((object) this);
|
|||
|
try
|
|||
|
{
|
|||
|
if (this.\u0001 == null)
|
|||
|
this.\u000F();
|
|||
|
\u0007.\u0005 pUnkSink = new \u0007.\u0005();
|
|||
|
int pdwCookie = 0;
|
|||
|
this.\u0001.Advise((object) pUnkSink, out pdwCookie);
|
|||
|
pUnkSink.\u0001 = pdwCookie;
|
|||
|
pUnkSink.\u0001 = obj0;
|
|||
|
this.\u0001.Add((object) pUnkSink);
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
Monitor.Exit((object) this);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public virtual void remove_OnContactRemovedFromGroup([In] \u0004.\u0006 obj0)
|
|||
|
{
|
|||
|
Monitor.Enter((object) this);
|
|||
|
try
|
|||
|
{
|
|||
|
if (this.\u0001 == null)
|
|||
|
return;
|
|||
|
int count = this.\u0001.Count;
|
|||
|
int index = 0;
|
|||
|
if (0 >= count)
|
|||
|
return;
|
|||
|
do
|
|||
|
{
|
|||
|
\u0007.\u0005 obj = (\u0007.\u0005) this.\u0001[index];
|
|||
|
if (obj.\u0001 != null && ((obj.\u0001.Equals((object) obj0) ? 1 : 0) & (int) byte.MaxValue) != 0)
|
|||
|
{
|
|||
|
this.\u0001.RemoveAt(index);
|
|||
|
this.\u0001.Unadvise(obj.\u0001);
|
|||
|
if (count <= 1)
|
|||
|
{
|
|||
|
Marshal.ReleaseComObject((object) this.\u0001);
|
|||
|
this.\u0001 = (IConnectionPoint) null;
|
|||
|
this.\u0001 = (ArrayList) null;
|
|||
|
return;
|
|||
|
}
|
|||
|
goto label_4;
|
|||
|
}
|
|||
|
else
|
|||
|
++index;
|
|||
|
}
|
|||
|
while (index < count);
|
|||
|
goto label_11;
|
|||
|
label_4:
|
|||
|
return;
|
|||
|
label_11:;
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
Monitor.Exit((object) this);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public virtual void add_OnIMWindowCreated([In] \u0004.\u0007 obj0)
|
|||
|
{
|
|||
|
Monitor.Enter((object) this);
|
|||
|
try
|
|||
|
{
|
|||
|
if (this.\u0001 == null)
|
|||
|
this.\u000F();
|
|||
|
\u0007.\u0005 pUnkSink = new \u0007.\u0005();
|
|||
|
int pdwCookie = 0;
|
|||
|
this.\u0001.Advise((object) pUnkSink, out pdwCookie);
|
|||
|
pUnkSink.\u0001 = pdwCookie;
|
|||
|
pUnkSink.\u0001 = obj0;
|
|||
|
this.\u0001.Add((object) pUnkSink);
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
Monitor.Exit((object) this);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public virtual void remove_OnIMWindowCreated([In] \u0004.\u0007 obj0)
|
|||
|
{
|
|||
|
Monitor.Enter((object) this);
|
|||
|
try
|
|||
|
{
|
|||
|
if (this.\u0001 == null)
|
|||
|
return;
|
|||
|
int count = this.\u0001.Count;
|
|||
|
int index = 0;
|
|||
|
if (0 >= count)
|
|||
|
return;
|
|||
|
do
|
|||
|
{
|
|||
|
\u0007.\u0005 obj = (\u0007.\u0005) this.\u0001[index];
|
|||
|
if (obj.\u0001 != null && ((obj.\u0001.Equals((object) obj0) ? 1 : 0) & (int) byte.MaxValue) != 0)
|
|||
|
{
|
|||
|
this.\u0001.RemoveAt(index);
|
|||
|
this.\u0001.Unadvise(obj.\u0001);
|
|||
|
if (count <= 1)
|
|||
|
{
|
|||
|
Marshal.ReleaseComObject((object) this.\u0001);
|
|||
|
this.\u0001 = (IConnectionPoint) null;
|
|||
|
this.\u0001 = (ArrayList) null;
|
|||
|
return;
|
|||
|
}
|
|||
|
goto label_4;
|
|||
|
}
|
|||
|
else
|
|||
|
++index;
|
|||
|
}
|
|||
|
while (index < count);
|
|||
|
goto label_11;
|
|||
|
label_4:
|
|||
|
return;
|
|||
|
label_11:;
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
Monitor.Exit((object) this);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public virtual void add_OnIMWindowDestroyed([In] \u0008 obj0)
|
|||
|
{
|
|||
|
Monitor.Enter((object) this);
|
|||
|
try
|
|||
|
{
|
|||
|
if (this.\u0001 == null)
|
|||
|
this.\u000F();
|
|||
|
\u0007.\u0005 pUnkSink = new \u0007.\u0005();
|
|||
|
int pdwCookie = 0;
|
|||
|
this.\u0001.Advise((object) pUnkSink, out pdwCookie);
|
|||
|
pUnkSink.\u0001 = pdwCookie;
|
|||
|
pUnkSink.\u0001 = obj0;
|
|||
|
this.\u0001.Add((object) pUnkSink);
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
Monitor.Exit((object) this);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public virtual void remove_OnIMWindowDestroyed([In] \u0008 obj0)
|
|||
|
{
|
|||
|
Monitor.Enter((object) this);
|
|||
|
try
|
|||
|
{
|
|||
|
if (this.\u0001 == null)
|
|||
|
return;
|
|||
|
int count = this.\u0001.Count;
|
|||
|
int index = 0;
|
|||
|
if (0 >= count)
|
|||
|
return;
|
|||
|
do
|
|||
|
{
|
|||
|
\u0007.\u0005 obj = (\u0007.\u0005) this.\u0001[index];
|
|||
|
if (obj.\u0001 != null && ((obj.\u0001.Equals((object) obj0) ? 1 : 0) & (int) byte.MaxValue) != 0)
|
|||
|
{
|
|||
|
this.\u0001.RemoveAt(index);
|
|||
|
this.\u0001.Unadvise(obj.\u0001);
|
|||
|
if (count <= 1)
|
|||
|
{
|
|||
|
Marshal.ReleaseComObject((object) this.\u0001);
|
|||
|
this.\u0001 = (IConnectionPoint) null;
|
|||
|
this.\u0001 = (ArrayList) null;
|
|||
|
return;
|
|||
|
}
|
|||
|
goto label_4;
|
|||
|
}
|
|||
|
else
|
|||
|
++index;
|
|||
|
}
|
|||
|
while (index < count);
|
|||
|
goto label_11;
|
|||
|
label_4:
|
|||
|
return;
|
|||
|
label_11:;
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
Monitor.Exit((object) this);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public virtual void add_OnIMWindowContactAdded([In] \u0001 obj0)
|
|||
|
{
|
|||
|
Monitor.Enter((object) this);
|
|||
|
try
|
|||
|
{
|
|||
|
if (this.\u0001 == null)
|
|||
|
this.\u000F();
|
|||
|
\u0007.\u0005 pUnkSink = new \u0007.\u0005();
|
|||
|
int pdwCookie = 0;
|
|||
|
this.\u0001.Advise((object) pUnkSink, out pdwCookie);
|
|||
|
pUnkSink.\u0001 = pdwCookie;
|
|||
|
pUnkSink.\u0001 = obj0;
|
|||
|
this.\u0001.Add((object) pUnkSink);
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
Monitor.Exit((object) this);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public virtual void remove_OnIMWindowContactAdded([In] \u0001 obj0)
|
|||
|
{
|
|||
|
Monitor.Enter((object) this);
|
|||
|
try
|
|||
|
{
|
|||
|
if (this.\u0001 == null)
|
|||
|
return;
|
|||
|
int count = this.\u0001.Count;
|
|||
|
int index = 0;
|
|||
|
if (0 >= count)
|
|||
|
return;
|
|||
|
do
|
|||
|
{
|
|||
|
\u0007.\u0005 obj = (\u0007.\u0005) this.\u0001[index];
|
|||
|
if (obj.\u0001 != null && ((obj.\u0001.Equals((object) obj0) ? 1 : 0) & (int) byte.MaxValue) != 0)
|
|||
|
{
|
|||
|
this.\u0001.RemoveAt(index);
|
|||
|
this.\u0001.Unadvise(obj.\u0001);
|
|||
|
if (count <= 1)
|
|||
|
{
|
|||
|
Marshal.ReleaseComObject((object) this.\u0001);
|
|||
|
this.\u0001 = (IConnectionPoint) null;
|
|||
|
this.\u0001 = (ArrayList) null;
|
|||
|
return;
|
|||
|
}
|
|||
|
goto label_4;
|
|||
|
}
|
|||
|
else
|
|||
|
++index;
|
|||
|
}
|
|||
|
while (index < count);
|
|||
|
goto label_11;
|
|||
|
label_4:
|
|||
|
return;
|
|||
|
label_11:;
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
Monitor.Exit((object) this);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public virtual void add_OnIMWindowContactRemoved([In] \u0002 obj0)
|
|||
|
{
|
|||
|
Monitor.Enter((object) this);
|
|||
|
try
|
|||
|
{
|
|||
|
if (this.\u0001 == null)
|
|||
|
this.\u000F();
|
|||
|
\u0007.\u0005 pUnkSink = new \u0007.\u0005();
|
|||
|
int pdwCookie = 0;
|
|||
|
this.\u0001.Advise((object) pUnkSink, out pdwCookie);
|
|||
|
pUnkSink.\u0001 = pdwCookie;
|
|||
|
pUnkSink.\u0001 = obj0;
|
|||
|
this.\u0001.Add((object) pUnkSink);
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
Monitor.Exit((object) this);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public virtual void remove_OnIMWindowContactRemoved([In] \u0002 obj0)
|
|||
|
{
|
|||
|
Monitor.Enter((object) this);
|
|||
|
try
|
|||
|
{
|
|||
|
if (this.\u0001 == null)
|
|||
|
return;
|
|||
|
int count = this.\u0001.Count;
|
|||
|
int index = 0;
|
|||
|
if (0 >= count)
|
|||
|
return;
|
|||
|
do
|
|||
|
{
|
|||
|
\u0007.\u0005 obj = (\u0007.\u0005) this.\u0001[index];
|
|||
|
if (obj.\u0001 != null && ((obj.\u0001.Equals((object) obj0) ? 1 : 0) & (int) byte.MaxValue) != 0)
|
|||
|
{
|
|||
|
this.\u0001.RemoveAt(index);
|
|||
|
this.\u0001.Unadvise(obj.\u0001);
|
|||
|
if (count <= 1)
|
|||
|
{
|
|||
|
Marshal.ReleaseComObject((object) this.\u0001);
|
|||
|
this.\u0001 = (IConnectionPoint) null;
|
|||
|
this.\u0001 = (ArrayList) null;
|
|||
|
return;
|
|||
|
}
|
|||
|
goto label_4;
|
|||
|
}
|
|||
|
else
|
|||
|
++index;
|
|||
|
}
|
|||
|
while (index < count);
|
|||
|
goto label_11;
|
|||
|
label_4:
|
|||
|
return;
|
|||
|
label_11:;
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
Monitor.Exit((object) this);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public virtual void add_OnAppShutdown([In] \u0003 obj0)
|
|||
|
{
|
|||
|
Monitor.Enter((object) this);
|
|||
|
try
|
|||
|
{
|
|||
|
if (this.\u0001 == null)
|
|||
|
this.\u000F();
|
|||
|
\u0007.\u0005 pUnkSink = new \u0007.\u0005();
|
|||
|
int pdwCookie = 0;
|
|||
|
this.\u0001.Advise((object) pUnkSink, out pdwCookie);
|
|||
|
pUnkSink.\u0001 = pdwCookie;
|
|||
|
pUnkSink.\u0001 = obj0;
|
|||
|
this.\u0001.Add((object) pUnkSink);
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
Monitor.Exit((object) this);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public virtual void remove_OnAppShutdown([In] \u0003 obj0)
|
|||
|
{
|
|||
|
Monitor.Enter((object) this);
|
|||
|
try
|
|||
|
{
|
|||
|
if (this.\u0001 == null)
|
|||
|
return;
|
|||
|
int count = this.\u0001.Count;
|
|||
|
int index = 0;
|
|||
|
if (0 >= count)
|
|||
|
return;
|
|||
|
do
|
|||
|
{
|
|||
|
\u0007.\u0005 obj = (\u0007.\u0005) this.\u0001[index];
|
|||
|
if (obj.\u0001 != null && ((obj.\u0001.Equals((object) obj0) ? 1 : 0) & (int) byte.MaxValue) != 0)
|
|||
|
{
|
|||
|
this.\u0001.RemoveAt(index);
|
|||
|
this.\u0001.Unadvise(obj.\u0001);
|
|||
|
if (count <= 1)
|
|||
|
{
|
|||
|
Marshal.ReleaseComObject((object) this.\u0001);
|
|||
|
this.\u0001 = (IConnectionPoint) null;
|
|||
|
this.\u0001 = (ArrayList) null;
|
|||
|
return;
|
|||
|
}
|
|||
|
goto label_4;
|
|||
|
}
|
|||
|
else
|
|||
|
++index;
|
|||
|
}
|
|||
|
while (index < count);
|
|||
|
goto label_11;
|
|||
|
label_4:
|
|||
|
return;
|
|||
|
label_11:;
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
Monitor.Exit((object) this);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public virtual void add_OnSignin([In] \u0005.\u0004 obj0)
|
|||
|
{
|
|||
|
Monitor.Enter((object) this);
|
|||
|
try
|
|||
|
{
|
|||
|
if (this.\u0001 == null)
|
|||
|
this.\u000F();
|
|||
|
\u0007.\u0005 pUnkSink = new \u0007.\u0005();
|
|||
|
int pdwCookie = 0;
|
|||
|
this.\u0001.Advise((object) pUnkSink, out pdwCookie);
|
|||
|
pUnkSink.\u0001 = pdwCookie;
|
|||
|
pUnkSink.\u0001 = obj0;
|
|||
|
this.\u0001.Add((object) pUnkSink);
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
Monitor.Exit((object) this);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public virtual void remove_OnSignin([In] \u0005.\u0004 obj0)
|
|||
|
{
|
|||
|
Monitor.Enter((object) this);
|
|||
|
try
|
|||
|
{
|
|||
|
if (this.\u0001 == null)
|
|||
|
return;
|
|||
|
int count = this.\u0001.Count;
|
|||
|
int index = 0;
|
|||
|
if (0 >= count)
|
|||
|
return;
|
|||
|
do
|
|||
|
{
|
|||
|
\u0007.\u0005 obj = (\u0007.\u0005) this.\u0001[index];
|
|||
|
if (obj.\u0001 != null && ((obj.\u0001.Equals((object) obj0) ? 1 : 0) & (int) byte.MaxValue) != 0)
|
|||
|
{
|
|||
|
this.\u0001.RemoveAt(index);
|
|||
|
this.\u0001.Unadvise(obj.\u0001);
|
|||
|
if (count <= 1)
|
|||
|
{
|
|||
|
Marshal.ReleaseComObject((object) this.\u0001);
|
|||
|
this.\u0001 = (IConnectionPoint) null;
|
|||
|
this.\u0001 = (ArrayList) null;
|
|||
|
return;
|
|||
|
}
|
|||
|
goto label_4;
|
|||
|
}
|
|||
|
else
|
|||
|
++index;
|
|||
|
}
|
|||
|
while (index < count);
|
|||
|
goto label_11;
|
|||
|
label_4:
|
|||
|
return;
|
|||
|
label_11:;
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
Monitor.Exit((object) this);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public virtual void add_OnSignout([In] \u0005.\u0005 obj0)
|
|||
|
{
|
|||
|
Monitor.Enter((object) this);
|
|||
|
try
|
|||
|
{
|
|||
|
if (this.\u0001 == null)
|
|||
|
this.\u000F();
|
|||
|
\u0007.\u0005 pUnkSink = new \u0007.\u0005();
|
|||
|
int pdwCookie = 0;
|
|||
|
this.\u0001.Advise((object) pUnkSink, out pdwCookie);
|
|||
|
pUnkSink.\u0001 = pdwCookie;
|
|||
|
pUnkSink.\u0001 = obj0;
|
|||
|
this.\u0001.Add((object) pUnkSink);
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
Monitor.Exit((object) this);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public virtual void remove_OnSignout([In] \u0005.\u0005 obj0)
|
|||
|
{
|
|||
|
Monitor.Enter((object) this);
|
|||
|
try
|
|||
|
{
|
|||
|
if (this.\u0001 == null)
|
|||
|
return;
|
|||
|
int count = this.\u0001.Count;
|
|||
|
int index = 0;
|
|||
|
if (0 >= count)
|
|||
|
return;
|
|||
|
do
|
|||
|
{
|
|||
|
\u0007.\u0005 obj = (\u0007.\u0005) this.\u0001[index];
|
|||
|
if (obj.\u0001 != null && ((obj.\u0001.Equals((object) obj0) ? 1 : 0) & (int) byte.MaxValue) != 0)
|
|||
|
{
|
|||
|
this.\u0001.RemoveAt(index);
|
|||
|
this.\u0001.Unadvise(obj.\u0001);
|
|||
|
if (count <= 1)
|
|||
|
{
|
|||
|
Marshal.ReleaseComObject((object) this.\u0001);
|
|||
|
this.\u0001 = (IConnectionPoint) null;
|
|||
|
this.\u0001 = (ArrayList) null;
|
|||
|
return;
|
|||
|
}
|
|||
|
goto label_4;
|
|||
|
}
|
|||
|
else
|
|||
|
++index;
|
|||
|
}
|
|||
|
while (index < count);
|
|||
|
goto label_11;
|
|||
|
label_4:
|
|||
|
return;
|
|||
|
label_11:;
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
Monitor.Exit((object) this);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public virtual void add_OnContactListAdd([In] \u0005.\u0006 obj0)
|
|||
|
{
|
|||
|
Monitor.Enter((object) this);
|
|||
|
try
|
|||
|
{
|
|||
|
if (this.\u0001 == null)
|
|||
|
this.\u000F();
|
|||
|
\u0007.\u0005 pUnkSink = new \u0007.\u0005();
|
|||
|
int pdwCookie = 0;
|
|||
|
this.\u0001.Advise((object) pUnkSink, out pdwCookie);
|
|||
|
pUnkSink.\u0001 = pdwCookie;
|
|||
|
pUnkSink.\u0001 = obj0;
|
|||
|
this.\u0001.Add((object) pUnkSink);
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
Monitor.Exit((object) this);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public virtual void remove_OnContactListAdd([In] \u0005.\u0006 obj0)
|
|||
|
{
|
|||
|
Monitor.Enter((object) this);
|
|||
|
try
|
|||
|
{
|
|||
|
if (this.\u0001 == null)
|
|||
|
return;
|
|||
|
int count = this.\u0001.Count;
|
|||
|
int index = 0;
|
|||
|
if (0 >= count)
|
|||
|
return;
|
|||
|
do
|
|||
|
{
|
|||
|
\u0007.\u0005 obj = (\u0007.\u0005) this.\u0001[index];
|
|||
|
if (obj.\u0001 != null && ((obj.\u0001.Equals((object) obj0) ? 1 : 0) & (int) byte.MaxValue) != 0)
|
|||
|
{
|
|||
|
this.\u0001.RemoveAt(index);
|
|||
|
this.\u0001.Unadvise(obj.\u0001);
|
|||
|
if (count <= 1)
|
|||
|
{
|
|||
|
Marshal.ReleaseComObject((object) this.\u0001);
|
|||
|
this.\u0001 = (IConnectionPoint) null;
|
|||
|
this.\u0001 = (ArrayList) null;
|
|||
|
return;
|
|||
|
}
|
|||
|
goto label_4;
|
|||
|
}
|
|||
|
else
|
|||
|
++index;
|
|||
|
}
|
|||
|
while (index < count);
|
|||
|
goto label_11;
|
|||
|
label_4:
|
|||
|
return;
|
|||
|
label_11:;
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
Monitor.Exit((object) this);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public virtual void add_OnContactListRemove([In] \u0005.\u0007 obj0)
|
|||
|
{
|
|||
|
Monitor.Enter((object) this);
|
|||
|
try
|
|||
|
{
|
|||
|
if (this.\u0001 == null)
|
|||
|
this.\u000F();
|
|||
|
\u0007.\u0005 pUnkSink = new \u0007.\u0005();
|
|||
|
int pdwCookie = 0;
|
|||
|
this.\u0001.Advise((object) pUnkSink, out pdwCookie);
|
|||
|
pUnkSink.\u0001 = pdwCookie;
|
|||
|
pUnkSink.\u0001 = obj0;
|
|||
|
this.\u0001.Add((object) pUnkSink);
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
Monitor.Exit((object) this);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public virtual void remove_OnContactListRemove([In] \u0005.\u0007 obj0)
|
|||
|
{
|
|||
|
Monitor.Enter((object) this);
|
|||
|
try
|
|||
|
{
|
|||
|
if (this.\u0001 == null)
|
|||
|
return;
|
|||
|
int count = this.\u0001.Count;
|
|||
|
int index = 0;
|
|||
|
if (0 >= count)
|
|||
|
return;
|
|||
|
do
|
|||
|
{
|
|||
|
\u0007.\u0005 obj = (\u0007.\u0005) this.\u0001[index];
|
|||
|
if (obj.\u0001 != null && ((obj.\u0001.Equals((object) obj0) ? 1 : 0) & (int) byte.MaxValue) != 0)
|
|||
|
{
|
|||
|
this.\u0001.RemoveAt(index);
|
|||
|
this.\u0001.Unadvise(obj.\u0001);
|
|||
|
if (count <= 1)
|
|||
|
{
|
|||
|
Marshal.ReleaseComObject((object) this.\u0001);
|
|||
|
this.\u0001 = (IConnectionPoint) null;
|
|||
|
this.\u0001 = (ArrayList) null;
|
|||
|
return;
|
|||
|
}
|
|||
|
goto label_4;
|
|||
|
}
|
|||
|
else
|
|||
|
++index;
|
|||
|
}
|
|||
|
while (index < count);
|
|||
|
goto label_11;
|
|||
|
label_4:
|
|||
|
return;
|
|||
|
label_11:;
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
Monitor.Exit((object) this);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public virtual void add_OnMyFriendlyNameChange([In] \u0008 obj0)
|
|||
|
{
|
|||
|
Monitor.Enter((object) this);
|
|||
|
try
|
|||
|
{
|
|||
|
if (this.\u0001 == null)
|
|||
|
this.\u000F();
|
|||
|
\u0007.\u0005 pUnkSink = new \u0007.\u0005();
|
|||
|
int pdwCookie = 0;
|
|||
|
this.\u0001.Advise((object) pUnkSink, out pdwCookie);
|
|||
|
pUnkSink.\u0001 = pdwCookie;
|
|||
|
pUnkSink.\u0001 = obj0;
|
|||
|
this.\u0001.Add((object) pUnkSink);
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
Monitor.Exit((object) this);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public virtual void remove_OnMyFriendlyNameChange([In] \u0008 obj0)
|
|||
|
{
|
|||
|
Monitor.Enter((object) this);
|
|||
|
try
|
|||
|
{
|
|||
|
if (this.\u0001 == null)
|
|||
|
return;
|
|||
|
int count = this.\u0001.Count;
|
|||
|
int index = 0;
|
|||
|
if (0 >= count)
|
|||
|
return;
|
|||
|
do
|
|||
|
{
|
|||
|
\u0007.\u0005 obj = (\u0007.\u0005) this.\u0001[index];
|
|||
|
if (obj.\u0001 != null && ((obj.\u0001.Equals((object) obj0) ? 1 : 0) & (int) byte.MaxValue) != 0)
|
|||
|
{
|
|||
|
this.\u0001.RemoveAt(index);
|
|||
|
this.\u0001.Unadvise(obj.\u0001);
|
|||
|
if (count <= 1)
|
|||
|
{
|
|||
|
Marshal.ReleaseComObject((object) this.\u0001);
|
|||
|
this.\u0001 = (IConnectionPoint) null;
|
|||
|
this.\u0001 = (ArrayList) null;
|
|||
|
return;
|
|||
|
}
|
|||
|
goto label_4;
|
|||
|
}
|
|||
|
else
|
|||
|
++index;
|
|||
|
}
|
|||
|
while (index < count);
|
|||
|
goto label_11;
|
|||
|
label_4:
|
|||
|
return;
|
|||
|
label_11:;
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
Monitor.Exit((object) this);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public virtual void add_OnMyStatusChange([In] \u0001 obj0)
|
|||
|
{
|
|||
|
Monitor.Enter((object) this);
|
|||
|
try
|
|||
|
{
|
|||
|
if (this.\u0001 == null)
|
|||
|
this.\u000F();
|
|||
|
\u0007.\u0005 pUnkSink = new \u0007.\u0005();
|
|||
|
int pdwCookie = 0;
|
|||
|
this.\u0001.Advise((object) pUnkSink, out pdwCookie);
|
|||
|
pUnkSink.\u0001 = pdwCookie;
|
|||
|
pUnkSink.\u0001 = obj0;
|
|||
|
this.\u0001.Add((object) pUnkSink);
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
Monitor.Exit((object) this);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public virtual void remove_OnMyStatusChange([In] \u0001 obj0)
|
|||
|
{
|
|||
|
Monitor.Enter((object) this);
|
|||
|
try
|
|||
|
{
|
|||
|
if (this.\u0001 == null)
|
|||
|
return;
|
|||
|
int count = this.\u0001.Count;
|
|||
|
int index = 0;
|
|||
|
if (0 >= count)
|
|||
|
return;
|
|||
|
do
|
|||
|
{
|
|||
|
\u0007.\u0005 obj = (\u0007.\u0005) this.\u0001[index];
|
|||
|
if (obj.\u0001 != null && ((obj.\u0001.Equals((object) obj0) ? 1 : 0) & (int) byte.MaxValue) != 0)
|
|||
|
{
|
|||
|
this.\u0001.RemoveAt(index);
|
|||
|
this.\u0001.Unadvise(obj.\u0001);
|
|||
|
if (count <= 1)
|
|||
|
{
|
|||
|
Marshal.ReleaseComObject((object) this.\u0001);
|
|||
|
this.\u0001 = (IConnectionPoint) null;
|
|||
|
this.\u0001 = (ArrayList) null;
|
|||
|
return;
|
|||
|
}
|
|||
|
goto label_4;
|
|||
|
}
|
|||
|
else
|
|||
|
++index;
|
|||
|
}
|
|||
|
while (index < count);
|
|||
|
goto label_11;
|
|||
|
label_4:
|
|||
|
return;
|
|||
|
label_11:;
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
Monitor.Exit((object) this);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public virtual void add_OnMyPhoneChange([In] \u0002 obj0)
|
|||
|
{
|
|||
|
Monitor.Enter((object) this);
|
|||
|
try
|
|||
|
{
|
|||
|
if (this.\u0001 == null)
|
|||
|
this.\u000F();
|
|||
|
\u0007.\u0005 pUnkSink = new \u0007.\u0005();
|
|||
|
int pdwCookie = 0;
|
|||
|
this.\u0001.Advise((object) pUnkSink, out pdwCookie);
|
|||
|
pUnkSink.\u0001 = pdwCookie;
|
|||
|
pUnkSink.\u0001 = obj0;
|
|||
|
this.\u0001.Add((object) pUnkSink);
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
Monitor.Exit((object) this);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public virtual void remove_OnMyPhoneChange([In] \u0002 obj0)
|
|||
|
{
|
|||
|
Monitor.Enter((object) this);
|
|||
|
try
|
|||
|
{
|
|||
|
if (this.\u0001 == null)
|
|||
|
return;
|
|||
|
int count = this.\u0001.Count;
|
|||
|
int index = 0;
|
|||
|
if (0 >= count)
|
|||
|
return;
|
|||
|
do
|
|||
|
{
|
|||
|
\u0007.\u0005 obj = (\u0007.\u0005) this.\u0001[index];
|
|||
|
if (obj.\u0001 != null && ((obj.\u0001.Equals((object) obj0) ? 1 : 0) & (int) byte.MaxValue) != 0)
|
|||
|
{
|
|||
|
this.\u0001.RemoveAt(index);
|
|||
|
this.\u0001.Unadvise(obj.\u0001);
|
|||
|
if (count <= 1)
|
|||
|
{
|
|||
|
Marshal.ReleaseComObject((object) this.\u0001);
|
|||
|
this.\u0001 = (IConnectionPoint) null;
|
|||
|
this.\u0001 = (ArrayList) null;
|
|||
|
return;
|
|||
|
}
|
|||
|
goto label_4;
|
|||
|
}
|
|||
|
else
|
|||
|
++index;
|
|||
|
}
|
|||
|
while (index < count);
|
|||
|
goto label_11;
|
|||
|
label_4:
|
|||
|
return;
|
|||
|
label_11:;
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
Monitor.Exit((object) this);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public virtual void add_OnMyPropertyChange([In] \u0003 obj0)
|
|||
|
{
|
|||
|
Monitor.Enter((object) this);
|
|||
|
try
|
|||
|
{
|
|||
|
if (this.\u0001 == null)
|
|||
|
this.\u000F();
|
|||
|
\u0007.\u0005 pUnkSink = new \u0007.\u0005();
|
|||
|
int pdwCookie = 0;
|
|||
|
this.\u0001.Advise((object) pUnkSink, out pdwCookie);
|
|||
|
pUnkSink.\u0001 = pdwCookie;
|
|||
|
pUnkSink.\u0001 = obj0;
|
|||
|
this.\u0001.Add((object) pUnkSink);
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
Monitor.Exit((object) this);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public virtual void remove_OnMyPropertyChange([In] \u0003 obj0)
|
|||
|
{
|
|||
|
Monitor.Enter((object) this);
|
|||
|
try
|
|||
|
{
|
|||
|
if (this.\u0001 == null)
|
|||
|
return;
|
|||
|
int count = this.\u0001.Count;
|
|||
|
int index = 0;
|
|||
|
if (0 >= count)
|
|||
|
return;
|
|||
|
do
|
|||
|
{
|
|||
|
\u0007.\u0005 obj = (\u0007.\u0005) this.\u0001[index];
|
|||
|
if (obj.\u0001 != null && ((obj.\u0001.Equals((object) obj0) ? 1 : 0) & (int) byte.MaxValue) != 0)
|
|||
|
{
|
|||
|
this.\u0001.RemoveAt(index);
|
|||
|
this.\u0001.Unadvise(obj.\u0001);
|
|||
|
if (count <= 1)
|
|||
|
{
|
|||
|
Marshal.ReleaseComObject((object) this.\u0001);
|
|||
|
this.\u0001 = (IConnectionPoint) null;
|
|||
|
this.\u0001 = (ArrayList) null;
|
|||
|
return;
|
|||
|
}
|
|||
|
goto label_4;
|
|||
|
}
|
|||
|
else
|
|||
|
++index;
|
|||
|
}
|
|||
|
while (index < count);
|
|||
|
goto label_11;
|
|||
|
label_4:
|
|||
|
return;
|
|||
|
label_11:;
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
Monitor.Exit((object) this);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public virtual void add_OnContactFriendlyNameChange([In] \u0006.\u0004 obj0)
|
|||
|
{
|
|||
|
Monitor.Enter((object) this);
|
|||
|
try
|
|||
|
{
|
|||
|
if (this.\u0001 == null)
|
|||
|
this.\u000F();
|
|||
|
\u0007.\u0005 pUnkSink = new \u0007.\u0005();
|
|||
|
int pdwCookie = 0;
|
|||
|
this.\u0001.Advise((object) pUnkSink, out pdwCookie);
|
|||
|
pUnkSink.\u0001 = pdwCookie;
|
|||
|
pUnkSink.\u0001 = obj0;
|
|||
|
this.\u0001.Add((object) pUnkSink);
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
Monitor.Exit((object) this);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public virtual void remove_OnContactFriendlyNameChange([In] \u0006.\u0004 obj0)
|
|||
|
{
|
|||
|
Monitor.Enter((object) this);
|
|||
|
try
|
|||
|
{
|
|||
|
if (this.\u0001 == null)
|
|||
|
return;
|
|||
|
int count = this.\u0001.Count;
|
|||
|
int index = 0;
|
|||
|
if (0 >= count)
|
|||
|
return;
|
|||
|
do
|
|||
|
{
|
|||
|
\u0007.\u0005 obj = (\u0007.\u0005) this.\u0001[index];
|
|||
|
if (obj.\u0001 != null && ((obj.\u0001.Equals((object) obj0) ? 1 : 0) & (int) byte.MaxValue) != 0)
|
|||
|
{
|
|||
|
this.\u0001.RemoveAt(index);
|
|||
|
this.\u0001.Unadvise(obj.\u0001);
|
|||
|
if (count <= 1)
|
|||
|
{
|
|||
|
Marshal.ReleaseComObject((object) this.\u0001);
|
|||
|
this.\u0001 = (IConnectionPoint) null;
|
|||
|
this.\u0001 = (ArrayList) null;
|
|||
|
return;
|
|||
|
}
|
|||
|
goto label_4;
|
|||
|
}
|
|||
|
else
|
|||
|
++index;
|
|||
|
}
|
|||
|
while (index < count);
|
|||
|
goto label_11;
|
|||
|
label_4:
|
|||
|
return;
|
|||
|
label_11:;
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
Monitor.Exit((object) this);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public virtual void add_OnContactStatusChange([In] \u0006.\u0005 obj0)
|
|||
|
{
|
|||
|
Monitor.Enter((object) this);
|
|||
|
try
|
|||
|
{
|
|||
|
if (this.\u0001 == null)
|
|||
|
this.\u000F();
|
|||
|
\u0007.\u0005 pUnkSink = new \u0007.\u0005();
|
|||
|
int pdwCookie = 0;
|
|||
|
this.\u0001.Advise((object) pUnkSink, out pdwCookie);
|
|||
|
pUnkSink.\u0001 = pdwCookie;
|
|||
|
pUnkSink.\u0001 = obj0;
|
|||
|
this.\u0001.Add((object) pUnkSink);
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
Monitor.Exit((object) this);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public virtual void remove_OnContactStatusChange([In] \u0006.\u0005 obj0)
|
|||
|
{
|
|||
|
Monitor.Enter((object) this);
|
|||
|
try
|
|||
|
{
|
|||
|
if (this.\u0001 == null)
|
|||
|
return;
|
|||
|
int count = this.\u0001.Count;
|
|||
|
int index = 0;
|
|||
|
if (0 >= count)
|
|||
|
return;
|
|||
|
do
|
|||
|
{
|
|||
|
\u0007.\u0005 obj = (\u0007.\u0005) this.\u0001[index];
|
|||
|
if (obj.\u0001 != null && ((obj.\u0001.Equals((object) obj0) ? 1 : 0) & (int) byte.MaxValue) != 0)
|
|||
|
{
|
|||
|
this.\u0001.RemoveAt(index);
|
|||
|
this.\u0001.Unadvise(obj.\u0001);
|
|||
|
if (count <= 1)
|
|||
|
{
|
|||
|
Marshal.ReleaseComObject((object) this.\u0001);
|
|||
|
this.\u0001 = (IConnectionPoint) null;
|
|||
|
this.\u0001 = (ArrayList) null;
|
|||
|
return;
|
|||
|
}
|
|||
|
goto label_4;
|
|||
|
}
|
|||
|
else
|
|||
|
++index;
|
|||
|
}
|
|||
|
while (index < count);
|
|||
|
goto label_11;
|
|||
|
label_4:
|
|||
|
return;
|
|||
|
label_11:;
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
Monitor.Exit((object) this);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public virtual void add_OnContactPropertyChange([In] \u0006.\u0006 obj0)
|
|||
|
{
|
|||
|
Monitor.Enter((object) this);
|
|||
|
try
|
|||
|
{
|
|||
|
if (this.\u0001 == null)
|
|||
|
this.\u000F();
|
|||
|
\u0007.\u0005 pUnkSink = new \u0007.\u0005();
|
|||
|
int pdwCookie = 0;
|
|||
|
this.\u0001.Advise((object) pUnkSink, out pdwCookie);
|
|||
|
pUnkSink.\u0001 = pdwCookie;
|
|||
|
pUnkSink.\u0001 = obj0;
|
|||
|
this.\u0001.Add((object) pUnkSink);
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
Monitor.Exit((object) this);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public virtual void remove_OnContactPropertyChange([In] \u0006.\u0006 obj0)
|
|||
|
{
|
|||
|
Monitor.Enter((object) this);
|
|||
|
try
|
|||
|
{
|
|||
|
if (this.\u0001 == null)
|
|||
|
return;
|
|||
|
int count = this.\u0001.Count;
|
|||
|
int index = 0;
|
|||
|
if (0 >= count)
|
|||
|
return;
|
|||
|
do
|
|||
|
{
|
|||
|
\u0007.\u0005 obj = (\u0007.\u0005) this.\u0001[index];
|
|||
|
if (obj.\u0001 != null && ((obj.\u0001.Equals((object) obj0) ? 1 : 0) & (int) byte.MaxValue) != 0)
|
|||
|
{
|
|||
|
this.\u0001.RemoveAt(index);
|
|||
|
this.\u0001.Unadvise(obj.\u0001);
|
|||
|
if (count <= 1)
|
|||
|
{
|
|||
|
Marshal.ReleaseComObject((object) this.\u0001);
|
|||
|
this.\u0001 = (IConnectionPoint) null;
|
|||
|
this.\u0001 = (ArrayList) null;
|
|||
|
return;
|
|||
|
}
|
|||
|
goto label_4;
|
|||
|
}
|
|||
|
else
|
|||
|
++index;
|
|||
|
}
|
|||
|
while (index < count);
|
|||
|
goto label_11;
|
|||
|
label_4:
|
|||
|
return;
|
|||
|
label_11:;
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
Monitor.Exit((object) this);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public virtual void add_OnContactBlockChange([In] \u0006.\u0007 obj0)
|
|||
|
{
|
|||
|
Monitor.Enter((object) this);
|
|||
|
try
|
|||
|
{
|
|||
|
if (this.\u0001 == null)
|
|||
|
this.\u000F();
|
|||
|
\u0007.\u0005 pUnkSink = new \u0007.\u0005();
|
|||
|
int pdwCookie = 0;
|
|||
|
this.\u0001.Advise((object) pUnkSink, out pdwCookie);
|
|||
|
pUnkSink.\u0001 = pdwCookie;
|
|||
|
pUnkSink.\u0001 = obj0;
|
|||
|
this.\u0001.Add((object) pUnkSink);
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
Monitor.Exit((object) this);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public virtual void remove_OnContactBlockChange([In] \u0006.\u0007 obj0)
|
|||
|
{
|
|||
|
Monitor.Enter((object) this);
|
|||
|
try
|
|||
|
{
|
|||
|
if (this.\u0001 == null)
|
|||
|
return;
|
|||
|
int count = this.\u0001.Count;
|
|||
|
int index = 0;
|
|||
|
if (0 >= count)
|
|||
|
return;
|
|||
|
do
|
|||
|
{
|
|||
|
\u0007.\u0005 obj = (\u0007.\u0005) this.\u0001[index];
|
|||
|
if (obj.\u0001 != null && ((obj.\u0001.Equals((object) obj0) ? 1 : 0) & (int) byte.MaxValue) != 0)
|
|||
|
{
|
|||
|
this.\u0001.RemoveAt(index);
|
|||
|
this.\u0001.Unadvise(obj.\u0001);
|
|||
|
if (count <= 1)
|
|||
|
{
|
|||
|
Marshal.ReleaseComObject((object) this.\u0001);
|
|||
|
this.\u0001 = (IConnectionPoint) null;
|
|||
|
this.\u0001 = (ArrayList) null;
|
|||
|
return;
|
|||
|
}
|
|||
|
goto label_4;
|
|||
|
}
|
|||
|
else
|
|||
|
++index;
|
|||
|
}
|
|||
|
while (index < count);
|
|||
|
goto label_11;
|
|||
|
label_4:
|
|||
|
return;
|
|||
|
label_11:;
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
Monitor.Exit((object) this);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public virtual void add_OnContactPagerChange([In] \u0008 obj0)
|
|||
|
{
|
|||
|
Monitor.Enter((object) this);
|
|||
|
try
|
|||
|
{
|
|||
|
if (this.\u0001 == null)
|
|||
|
this.\u000F();
|
|||
|
\u0007.\u0005 pUnkSink = new \u0007.\u0005();
|
|||
|
int pdwCookie = 0;
|
|||
|
this.\u0001.Advise((object) pUnkSink, out pdwCookie);
|
|||
|
pUnkSink.\u0001 = pdwCookie;
|
|||
|
pUnkSink.\u0001 = obj0;
|
|||
|
this.\u0001.Add((object) pUnkSink);
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
Monitor.Exit((object) this);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public virtual void remove_OnContactPagerChange([In] \u0008 obj0)
|
|||
|
{
|
|||
|
Monitor.Enter((object) this);
|
|||
|
try
|
|||
|
{
|
|||
|
if (this.\u0001 == null)
|
|||
|
return;
|
|||
|
int count = this.\u0001.Count;
|
|||
|
int index = 0;
|
|||
|
if (0 >= count)
|
|||
|
return;
|
|||
|
do
|
|||
|
{
|
|||
|
\u0007.\u0005 obj = (\u0007.\u0005) this.\u0001[index];
|
|||
|
if (obj.\u0001 != null && ((obj.\u0001.Equals((object) obj0) ? 1 : 0) & (int) byte.MaxValue) != 0)
|
|||
|
{
|
|||
|
this.\u0001.RemoveAt(index);
|
|||
|
this.\u0001.Unadvise(obj.\u0001);
|
|||
|
if (count <= 1)
|
|||
|
{
|
|||
|
Marshal.ReleaseComObject((object) this.\u0001);
|
|||
|
this.\u0001 = (IConnectionPoint) null;
|
|||
|
this.\u0001 = (ArrayList) null;
|
|||
|
return;
|
|||
|
}
|
|||
|
goto label_4;
|
|||
|
}
|
|||
|
else
|
|||
|
++index;
|
|||
|
}
|
|||
|
while (index < count);
|
|||
|
goto label_11;
|
|||
|
label_4:
|
|||
|
return;
|
|||
|
label_11:;
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
Monitor.Exit((object) this);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public virtual void add_OnContactPhoneChange([In] \u0001 obj0)
|
|||
|
{
|
|||
|
Monitor.Enter((object) this);
|
|||
|
try
|
|||
|
{
|
|||
|
if (this.\u0001 == null)
|
|||
|
this.\u000F();
|
|||
|
\u0007.\u0005 pUnkSink = new \u0007.\u0005();
|
|||
|
int pdwCookie = 0;
|
|||
|
this.\u0001.Advise((object) pUnkSink, out pdwCookie);
|
|||
|
pUnkSink.\u0001 = pdwCookie;
|
|||
|
pUnkSink.\u0001 = obj0;
|
|||
|
this.\u0001.Add((object) pUnkSink);
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
Monitor.Exit((object) this);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public virtual void remove_OnContactPhoneChange([In] \u0001 obj0)
|
|||
|
{
|
|||
|
Monitor.Enter((object) this);
|
|||
|
try
|
|||
|
{
|
|||
|
if (this.\u0001 == null)
|
|||
|
return;
|
|||
|
int count = this.\u0001.Count;
|
|||
|
int index = 0;
|
|||
|
if (0 >= count)
|
|||
|
return;
|
|||
|
do
|
|||
|
{
|
|||
|
\u0007.\u0005 obj = (\u0007.\u0005) this.\u0001[index];
|
|||
|
if (obj.\u0001 != null && ((obj.\u0001.Equals((object) obj0) ? 1 : 0) & (int) byte.MaxValue) != 0)
|
|||
|
{
|
|||
|
this.\u0001.RemoveAt(index);
|
|||
|
this.\u0001.Unadvise(obj.\u0001);
|
|||
|
if (count <= 1)
|
|||
|
{
|
|||
|
Marshal.ReleaseComObject((object) this.\u0001);
|
|||
|
this.\u0001 = (IConnectionPoint) null;
|
|||
|
this.\u0001 = (ArrayList) null;
|
|||
|
return;
|
|||
|
}
|
|||
|
goto label_4;
|
|||
|
}
|
|||
|
else
|
|||
|
++index;
|
|||
|
}
|
|||
|
while (index < count);
|
|||
|
goto label_11;
|
|||
|
label_4:
|
|||
|
return;
|
|||
|
label_11:;
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
Monitor.Exit((object) this);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public virtual void add_OnUnreadEmailChange([In] \u0002 obj0)
|
|||
|
{
|
|||
|
Monitor.Enter((object) this);
|
|||
|
try
|
|||
|
{
|
|||
|
if (this.\u0001 == null)
|
|||
|
this.\u000F();
|
|||
|
\u0007.\u0005 pUnkSink = new \u0007.\u0005();
|
|||
|
int pdwCookie = 0;
|
|||
|
this.\u0001.Advise((object) pUnkSink, out pdwCookie);
|
|||
|
pUnkSink.\u0001 = pdwCookie;
|
|||
|
pUnkSink.\u0001 = obj0;
|
|||
|
this.\u0001.Add((object) pUnkSink);
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
Monitor.Exit((object) this);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public virtual void remove_OnUnreadEmailChange([In] \u0002 obj0)
|
|||
|
{
|
|||
|
Monitor.Enter((object) this);
|
|||
|
try
|
|||
|
{
|
|||
|
if (this.\u0001 == null)
|
|||
|
return;
|
|||
|
int count = this.\u0001.Count;
|
|||
|
int index = 0;
|
|||
|
if (0 >= count)
|
|||
|
return;
|
|||
|
do
|
|||
|
{
|
|||
|
\u0007.\u0005 obj = (\u0007.\u0005) this.\u0001[index];
|
|||
|
if (obj.\u0001 != null && ((obj.\u0001.Equals((object) obj0) ? 1 : 0) & (int) byte.MaxValue) != 0)
|
|||
|
{
|
|||
|
this.\u0001.RemoveAt(index);
|
|||
|
this.\u0001.Unadvise(obj.\u0001);
|
|||
|
if (count <= 1)
|
|||
|
{
|
|||
|
Marshal.ReleaseComObject((object) this.\u0001);
|
|||
|
this.\u0001 = (IConnectionPoint) null;
|
|||
|
this.\u0001 = (ArrayList) null;
|
|||
|
return;
|
|||
|
}
|
|||
|
goto label_4;
|
|||
|
}
|
|||
|
else
|
|||
|
++index;
|
|||
|
}
|
|||
|
while (index < count);
|
|||
|
goto label_11;
|
|||
|
label_4:
|
|||
|
return;
|
|||
|
label_11:;
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
Monitor.Exit((object) this);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public virtual void add_OnEmoticonListChange([In] \u0003 obj0)
|
|||
|
{
|
|||
|
Monitor.Enter((object) this);
|
|||
|
try
|
|||
|
{
|
|||
|
if (this.\u0001 == null)
|
|||
|
this.\u000F();
|
|||
|
\u0007.\u0005 pUnkSink = new \u0007.\u0005();
|
|||
|
int pdwCookie = 0;
|
|||
|
this.\u0001.Advise((object) pUnkSink, out pdwCookie);
|
|||
|
pUnkSink.\u0001 = pdwCookie;
|
|||
|
pUnkSink.\u0001 = obj0;
|
|||
|
this.\u0001.Add((object) pUnkSink);
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
Monitor.Exit((object) this);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public virtual void remove_OnEmoticonListChange([In] \u0003 obj0)
|
|||
|
{
|
|||
|
Monitor.Enter((object) this);
|
|||
|
try
|
|||
|
{
|
|||
|
if (this.\u0001 == null)
|
|||
|
return;
|
|||
|
int count = this.\u0001.Count;
|
|||
|
int index = 0;
|
|||
|
if (0 >= count)
|
|||
|
return;
|
|||
|
do
|
|||
|
{
|
|||
|
\u0007.\u0005 obj = (\u0007.\u0005) this.\u0001[index];
|
|||
|
if (obj.\u0001 != null && ((obj.\u0001.Equals((object) obj0) ? 1 : 0) & (int) byte.MaxValue) != 0)
|
|||
|
{
|
|||
|
this.\u0001.RemoveAt(index);
|
|||
|
this.\u0001.Unadvise(obj.\u0001);
|
|||
|
if (count <= 1)
|
|||
|
{
|
|||
|
Marshal.ReleaseComObject((object) this.\u0001);
|
|||
|
this.\u0001 = (IConnectionPoint) null;
|
|||
|
this.\u0001 = (ArrayList) null;
|
|||
|
return;
|
|||
|
}
|
|||
|
goto label_4;
|
|||
|
}
|
|||
|
else
|
|||
|
++index;
|
|||
|
}
|
|||
|
while (index < count);
|
|||
|
goto label_11;
|
|||
|
label_4:
|
|||
|
return;
|
|||
|
label_11:;
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
Monitor.Exit((object) this);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public override void Finalize()
|
|||
|
{
|
|||
|
Monitor.Enter((object) this);
|
|||
|
try
|
|||
|
{
|
|||
|
if (this.\u0001 == null)
|
|||
|
return;
|
|||
|
int count = this.\u0001.Count;
|
|||
|
int index = 0;
|
|||
|
if (0 < count)
|
|||
|
{
|
|||
|
do
|
|||
|
{
|
|||
|
this.\u0001.Unadvise(((\u0007.\u0005) this.\u0001[index]).\u0001);
|
|||
|
++index;
|
|||
|
}
|
|||
|
while (index < count);
|
|||
|
}
|
|||
|
Marshal.ReleaseComObject((object) this.\u0001);
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
Monitor.Exit((object) this);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public virtual void Dispose()
|
|||
|
{
|
|||
|
this.Finalize();
|
|||
|
GC.SuppressFinalize((object) this);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|