This commit is contained in:
niko
2026-06-04 11:42:34 +02:00
parent f39ba70a9f
commit e720b98cd1
7488 changed files with 2493818 additions and 0 deletions
@@ -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;
}
}