104 lines
2.7 KiB
C#
104 lines
2.7 KiB
C#
using System;
|
|
using System.Runtime.Remoting.Messaging;
|
|
using System.Threading;
|
|
|
|
namespace System.Runtime.Remoting.Channels
|
|
{
|
|
// Token: 0x0200039A RID: 922
|
|
[Serializable]
|
|
internal class CrossAppDomainChannel : IChannel, IChannelReceiver, IChannelSender
|
|
{
|
|
// Token: 0x06002583 RID: 9603 RVA: 0x0007C8A0 File Offset: 0x0007AAA0
|
|
internal static void RegisterCrossAppDomainChannel()
|
|
{
|
|
object obj = CrossAppDomainChannel.s_lock;
|
|
lock (obj)
|
|
{
|
|
CrossAppDomainChannel crossAppDomainChannel = new CrossAppDomainChannel();
|
|
ChannelServices.RegisterChannel(crossAppDomainChannel);
|
|
}
|
|
}
|
|
|
|
// Token: 0x170006FA RID: 1786
|
|
// (get) Token: 0x06002584 RID: 9604 RVA: 0x0007C8F0 File Offset: 0x0007AAF0
|
|
public virtual string ChannelName
|
|
{
|
|
get
|
|
{
|
|
return "MONOCAD";
|
|
}
|
|
}
|
|
|
|
// Token: 0x170006FB RID: 1787
|
|
// (get) Token: 0x06002585 RID: 9605 RVA: 0x0007C8F8 File Offset: 0x0007AAF8
|
|
public virtual int ChannelPriority
|
|
{
|
|
get
|
|
{
|
|
return 100;
|
|
}
|
|
}
|
|
|
|
// Token: 0x06002586 RID: 9606 RVA: 0x0007C8FC File Offset: 0x0007AAFC
|
|
public string Parse(string url, out string objectURI)
|
|
{
|
|
objectURI = url;
|
|
return null;
|
|
}
|
|
|
|
// Token: 0x170006FC RID: 1788
|
|
// (get) Token: 0x06002587 RID: 9607 RVA: 0x0007C904 File Offset: 0x0007AB04
|
|
public virtual object ChannelData
|
|
{
|
|
get
|
|
{
|
|
return new CrossAppDomainData(Thread.GetDomainID());
|
|
}
|
|
}
|
|
|
|
// Token: 0x06002588 RID: 9608 RVA: 0x0007C910 File Offset: 0x0007AB10
|
|
public virtual string[] GetUrlsForUri(string objectURI)
|
|
{
|
|
throw new NotSupportedException("CrossAppdomain channel dont support UrlsForUri");
|
|
}
|
|
|
|
// Token: 0x06002589 RID: 9609 RVA: 0x0007C91C File Offset: 0x0007AB1C
|
|
public virtual void StartListening(object data)
|
|
{
|
|
}
|
|
|
|
// Token: 0x0600258A RID: 9610 RVA: 0x0007C920 File Offset: 0x0007AB20
|
|
public virtual void StopListening(object data)
|
|
{
|
|
}
|
|
|
|
// Token: 0x0600258B RID: 9611 RVA: 0x0007C924 File Offset: 0x0007AB24
|
|
public virtual IMessageSink CreateMessageSink(string url, object data, out string uri)
|
|
{
|
|
uri = null;
|
|
if (data != null)
|
|
{
|
|
CrossAppDomainData crossAppDomainData = data as CrossAppDomainData;
|
|
if (crossAppDomainData != null && crossAppDomainData.ProcessID == RemotingConfiguration.ProcessId)
|
|
{
|
|
return CrossAppDomainSink.GetSink(crossAppDomainData.DomainID);
|
|
}
|
|
}
|
|
if (url != null && url.StartsWith("MONOCAD"))
|
|
{
|
|
throw new NotSupportedException("Can't create a named channel via crossappdomain");
|
|
}
|
|
return null;
|
|
}
|
|
|
|
// Token: 0x04000EB8 RID: 3768
|
|
private const string _strName = "MONOCAD";
|
|
|
|
// Token: 0x04000EB9 RID: 3769
|
|
private const string _strBaseURI = "MONOCADURI";
|
|
|
|
// Token: 0x04000EBA RID: 3770
|
|
private static object s_lock = new object();
|
|
}
|
|
}
|