The Labs \ Source Viewer \ SSCLI \ System.Runtime.Remoting.Lifetime \ ILease

  1. // ==++==
  2. //
  3. //
  4. // Copyright (c) 2006 Microsoft Corporation. All rights reserved.
  5. //
  6. // The use and distribution terms for this software are contained in the file
  7. // named license.txt, which can be found in the root of this distribution.
  8. // By using this software in any fashion, you are agreeing to be bound by the
  9. // terms of this license.
  10. //
  11. // You must not remove this notice, or any other, from this software.
  12. //
  13. //
  14. // ==--==
  15. //+----------------------------------------------------------------------------
  16. //
  17. // Microsoft Windows
  18. // File: ILease.cs
  19. //
  20. // Contents: Interface for Lease
  21. //
  22. // History: 1/5/00 Created
  23. //
  24. //+----------------------------------------------------------------------------
  25. namespace System.Runtime.Remoting.Lifetime
  26. {
  27.     using System;
  28.     using System.Security.Permissions;
  29.    
  30.     [System.Runtime.InteropServices.ComVisible(true)]
  31.     public interface ILease
  32.     {
  33.         [SecurityPermissionAttribute(SecurityAction.LinkDemand, Flags = SecurityPermissionFlag.Infrastructure)]
  34.         void Register(ISponsor obj, TimeSpan renewalTime);
  35.        
  36.         [SecurityPermissionAttribute(SecurityAction.LinkDemand, Flags = SecurityPermissionFlag.Infrastructure)]
  37.         void Register(ISponsor obj);
  38.        
  39.         [SecurityPermissionAttribute(SecurityAction.LinkDemand, Flags = SecurityPermissionFlag.Infrastructure)]
  40.         void Unregister(ISponsor obj);
  41.        
  42.         [SecurityPermissionAttribute(SecurityAction.LinkDemand, Flags = SecurityPermissionFlag.Infrastructure)]
  43.         TimeSpan Renew(TimeSpan renewalTime);
  44.        
  45.         TimeSpan RenewOnCallTime {
  46.             [SecurityPermissionAttribute(SecurityAction.LinkDemand, Flags = SecurityPermissionFlag.Infrastructure)]
  47.             get;
  48.             [SecurityPermissionAttribute(SecurityAction.LinkDemand, Flags = SecurityPermissionFlag.Infrastructure)]
  49.             set;
  50.         }
  51.        
  52.         TimeSpan SponsorshipTimeout {
  53.             [SecurityPermissionAttribute(SecurityAction.LinkDemand, Flags = SecurityPermissionFlag.Infrastructure)]
  54.             get;
  55.             [SecurityPermissionAttribute(SecurityAction.LinkDemand, Flags = SecurityPermissionFlag.Infrastructure)]
  56.             set;
  57.         }
  58.        
  59.         TimeSpan InitialLeaseTime {
  60.             [SecurityPermissionAttribute(SecurityAction.LinkDemand, Flags = SecurityPermissionFlag.Infrastructure)]
  61.             get;
  62.             [SecurityPermissionAttribute(SecurityAction.LinkDemand, Flags = SecurityPermissionFlag.Infrastructure)]
  63.             set;
  64.         }
  65.        
  66.         TimeSpan CurrentLeaseTime {
  67.             [SecurityPermissionAttribute(SecurityAction.LinkDemand, Flags = SecurityPermissionFlag.Infrastructure)]
  68.             get;
  69.         }
  70.        
  71.         LeaseState CurrentState {
  72.             [SecurityPermissionAttribute(SecurityAction.LinkDemand, Flags = SecurityPermissionFlag.Infrastructure)]
  73.             get;
  74.         }
  75.     }
  76. }

Developer Fusion