scripts
This commit is contained in:
@@ -0,0 +1,160 @@
|
||||
using System;
|
||||
using System.Runtime.Remoting.Contexts;
|
||||
using System.Runtime.Remoting.Lifetime;
|
||||
using System.Runtime.Remoting.Messaging;
|
||||
using System.Runtime.Remoting.Proxies;
|
||||
using System.Runtime.Remoting.Services;
|
||||
|
||||
namespace System.Runtime.Remoting
|
||||
{
|
||||
// Token: 0x0200044F RID: 1103
|
||||
internal abstract class ServerIdentity : Identity
|
||||
{
|
||||
// Token: 0x06002A90 RID: 10896 RVA: 0x0008A004 File Offset: 0x00088204
|
||||
public ServerIdentity(string objectUri, Context context, Type objectType)
|
||||
: base(objectUri)
|
||||
{
|
||||
this._objectType = objectType;
|
||||
this._context = context;
|
||||
}
|
||||
|
||||
// Token: 0x17000862 RID: 2146
|
||||
// (get) Token: 0x06002A91 RID: 10897 RVA: 0x0008A01C File Offset: 0x0008821C
|
||||
public Type ObjectType
|
||||
{
|
||||
get
|
||||
{
|
||||
return this._objectType;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06002A92 RID: 10898 RVA: 0x0008A024 File Offset: 0x00088224
|
||||
public void StartTrackingLifetime(ILease lease)
|
||||
{
|
||||
if (lease != null && lease.CurrentState == LeaseState.Null)
|
||||
{
|
||||
lease = null;
|
||||
}
|
||||
if (lease != null)
|
||||
{
|
||||
if (!(lease is Lease))
|
||||
{
|
||||
lease = new Lease();
|
||||
}
|
||||
this._lease = (Lease)lease;
|
||||
LifetimeServices.TrackLifetime(this);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06002A93 RID: 10899 RVA: 0x0008A070 File Offset: 0x00088270
|
||||
public virtual void OnLifetimeExpired()
|
||||
{
|
||||
this.DisposeServerObject();
|
||||
}
|
||||
|
||||
// Token: 0x06002A94 RID: 10900 RVA: 0x0008A078 File Offset: 0x00088278
|
||||
public override ObjRef CreateObjRef(Type requestedType)
|
||||
{
|
||||
if (this._objRef != null)
|
||||
{
|
||||
this._objRef.UpdateChannelInfo();
|
||||
return this._objRef;
|
||||
}
|
||||
if (requestedType == null)
|
||||
{
|
||||
requestedType = this._objectType;
|
||||
}
|
||||
this._objRef = new ObjRef();
|
||||
this._objRef.TypeInfo = new TypeInfo(requestedType);
|
||||
this._objRef.URI = this._objectUri;
|
||||
if (this._envoySink != null && !(this._envoySink is EnvoyTerminatorSink))
|
||||
{
|
||||
this._objRef.EnvoyInfo = new EnvoyInfo(this._envoySink);
|
||||
}
|
||||
return this._objRef;
|
||||
}
|
||||
|
||||
// Token: 0x06002A95 RID: 10901 RVA: 0x0008A114 File Offset: 0x00088314
|
||||
public void AttachServerObject(MarshalByRefObject serverObject, Context context)
|
||||
{
|
||||
this.DisposeServerObject();
|
||||
this._context = context;
|
||||
this._serverObject = serverObject;
|
||||
if (RemotingServices.IsTransparentProxy(serverObject))
|
||||
{
|
||||
RealProxy realProxy = RemotingServices.GetRealProxy(serverObject);
|
||||
if (realProxy.ObjectIdentity == null)
|
||||
{
|
||||
realProxy.ObjectIdentity = this;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (this._objectType.IsContextful)
|
||||
{
|
||||
this._envoySink = context.CreateEnvoySink(serverObject);
|
||||
}
|
||||
this._serverObject.ObjectIdentity = this;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17000863 RID: 2147
|
||||
// (get) Token: 0x06002A96 RID: 10902 RVA: 0x0008A188 File Offset: 0x00088388
|
||||
public Lease Lease
|
||||
{
|
||||
get
|
||||
{
|
||||
return this._lease;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17000864 RID: 2148
|
||||
// (get) Token: 0x06002A97 RID: 10903 RVA: 0x0008A190 File Offset: 0x00088390
|
||||
// (set) Token: 0x06002A98 RID: 10904 RVA: 0x0008A198 File Offset: 0x00088398
|
||||
public Context Context
|
||||
{
|
||||
get
|
||||
{
|
||||
return this._context;
|
||||
}
|
||||
set
|
||||
{
|
||||
this._context = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06002A99 RID: 10905
|
||||
public abstract IMessage SyncObjectProcessMessage(IMessage msg);
|
||||
|
||||
// Token: 0x06002A9A RID: 10906
|
||||
public abstract IMessageCtrl AsyncObjectProcessMessage(IMessage msg, IMessageSink replySink);
|
||||
|
||||
// Token: 0x06002A9B RID: 10907 RVA: 0x0008A1A4 File Offset: 0x000883A4
|
||||
protected void DisposeServerObject()
|
||||
{
|
||||
if (this._serverObject != null)
|
||||
{
|
||||
MarshalByRefObject serverObject = this._serverObject;
|
||||
this._serverObject.ObjectIdentity = null;
|
||||
this._serverObject = null;
|
||||
this._serverSink = null;
|
||||
TrackingServices.NotifyDisconnectedObject(serverObject);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0400104B RID: 4171
|
||||
protected Type _objectType;
|
||||
|
||||
// Token: 0x0400104C RID: 4172
|
||||
protected MarshalByRefObject _serverObject;
|
||||
|
||||
// Token: 0x0400104D RID: 4173
|
||||
protected IMessageSink _serverSink;
|
||||
|
||||
// Token: 0x0400104E RID: 4174
|
||||
protected Context _context;
|
||||
|
||||
// Token: 0x0400104F RID: 4175
|
||||
protected Lease _lease;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user