We need you! We're working hard on the next version of Developer Fusion - Let us know what you think we should be up to!

The Labs \ Source Viewer \ SSCLI \ System.Runtime.Remoting.Activation \ IActivator

  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. ** File:    IActivator.cs
  18. **
  19. **
  20. ** Purpose: Defines the interface provided by activation services
  21. **         
  22. **
  23. **
  24. ===========================================================*/
  25. namespace System.Runtime.Remoting.Activation
  26. {
  27.    
  28.     using System;
  29.     using System.Runtime.Remoting.Messaging;
  30.     using System.Collections;
  31.     using System.Security.Permissions;
  32.    
  33.     [System.Runtime.InteropServices.ComVisible(true)]
  34.     public interface IActivator
  35.     {
  36.         // return the next activator in the chain
  37.         IActivator NextActivator {
  38.             [SecurityPermissionAttribute(SecurityAction.LinkDemand, Flags = SecurityPermissionFlag.Infrastructure)]
  39.             get;
  40.             [SecurityPermissionAttribute(SecurityAction.LinkDemand, Flags = SecurityPermissionFlag.Infrastructure)]
  41.             set;
  42.         }
  43.        
  44.         // New method for activators.
  45.         [SecurityPermissionAttribute(SecurityAction.LinkDemand, Flags = SecurityPermissionFlag.Infrastructure)]
  46.         IConstructionReturnMessage Activate(IConstructionCallMessage msg);
  47.        
  48.         // Returns the level at which this activator is active ..
  49.         // Should return one of the ActivatorLevels below
  50.         ActivatorLevel Level {
  51.             [SecurityPermissionAttribute(SecurityAction.LinkDemand, Flags = SecurityPermissionFlag.Infrastructure)]
  52.             get;
  53.         }
  54.        
  55.        
  56.     }
  57.    
  58.     [Serializable()]
  59.     [System.Runtime.InteropServices.ComVisible(true)]
  60.     public enum ActivatorLevel
  61.     {
  62.         Construction = 4,
  63.         Context = 8,
  64.         AppDomain = 12,
  65.         Process = 16,
  66.         Machine = 20
  67.     }
  68.    
  69.     [System.Runtime.InteropServices.ComVisible(true)]
  70.     public interface IConstructionCallMessage : IMethodCallMessage
  71.     {
  72.         IActivator Activator {
  73.             [SecurityPermissionAttribute(SecurityAction.LinkDemand, Flags = SecurityPermissionFlag.Infrastructure)]
  74.             get;
  75.             [SecurityPermissionAttribute(SecurityAction.LinkDemand, Flags = SecurityPermissionFlag.Infrastructure)]
  76.             set;
  77.         }
  78.         object[] CallSiteActivationAttributes {
  79.             [SecurityPermissionAttribute(SecurityAction.LinkDemand, Flags = SecurityPermissionFlag.Infrastructure)]
  80.             get;
  81.         }
  82.         string ActivationTypeName {
  83.             [SecurityPermissionAttribute(SecurityAction.LinkDemand, Flags = SecurityPermissionFlag.Infrastructure)]
  84.             get;
  85.         }
  86.         Type ActivationType {
  87.             [SecurityPermissionAttribute(SecurityAction.LinkDemand, Flags = SecurityPermissionFlag.Infrastructure)]
  88.             get;
  89.         }
  90.         IList ContextProperties {
  91.             [SecurityPermissionAttribute(SecurityAction.LinkDemand, Flags = SecurityPermissionFlag.Infrastructure)]
  92.             get;
  93.         }
  94.     }
  95.    
  96.     [System.Runtime.InteropServices.ComVisible(true)]
  97.     public interface IConstructionReturnMessage : IMethodReturnMessage
  98.     {
  99.     }
  100.    
  101. }

Developer Fusion