using System;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
namespace System.Runtime.Remoting.Lifetime
{
/// Defines a lifetime lease object that is used by the remoting lifetime service.
// Token: 0x020004C4 RID: 1220
[Token(Token = "0x20004C4")]
[ComVisible(true)]
public interface ILease
{
/// Gets the amount of time remaining on the lease.
/// The amount of time remaining on the lease.
/// The immediate caller makes the call through a reference to the interface and does not have infrastructure permission.
// Token: 0x17000581 RID: 1409
// (get) Token: 0x060027E8 RID: 10216
[Token(Token = "0x17000581")]
TimeSpan CurrentLeaseTime
{
[Token(Token = "0x60027E8")]
[Address(Slot = "0")]
get;
}
/// Gets the current of the lease.
/// The current of the lease.
/// The immediate caller makes the call through a reference to the interface and does not have infrastructure permission.
// Token: 0x17000582 RID: 1410
// (get) Token: 0x060027E9 RID: 10217
[Token(Token = "0x17000582")]
LeaseState CurrentState
{
[Token(Token = "0x60027E9")]
[Address(Slot = "1")]
get;
}
/// Gets or sets the amount of time by which a call to the remote object renews the .
/// The amount of time by which a call to the remote object renews the .
/// The immediate caller makes the call through a reference to the interface and does not have infrastructure permission.
// Token: 0x17000583 RID: 1411
// (get) Token: 0x060027EA RID: 10218
[Token(Token = "0x17000583")]
TimeSpan RenewOnCallTime
{
[Token(Token = "0x60027EA")]
[Address(Slot = "2")]
get;
}
/// Renews a lease for the specified time.
/// The length of time to renew the lease by.
/// The new expiration time of the lease.
/// The immediate caller makes the call through a reference to the interface and does not have infrastructure permission.
// Token: 0x060027EB RID: 10219
[Token(Token = "0x60027EB")]
[Address(Slot = "3")]
TimeSpan Renew(TimeSpan renewalTime);
}
}