The Labs \ Source Viewer \ SSCLI \ System.Runtime.Remoting.Contexts \ IDynamicProperty

  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. // IDynamicMessageSink is implemented by message sinks provided by
  17. // dynamically registered properties. These sinks are provided notifications
  18. // of call-start and call-finish with flags indicating whether
  19. // the call is currently on the client-side or server-side (this is useful
  20. // for the context level sinks).
  21. //
  22. //
  23. namespace System.Runtime.Remoting.Contexts
  24. {
  25.     using System.Runtime.Remoting;
  26.     using System.Runtime.Remoting.Messaging;
  27.     using System.Security.Permissions;
  28.     using System;
  29.     /// <internalonly/>
  30.     [System.Runtime.InteropServices.ComVisible(true)]
  31.     public interface IDynamicProperty
  32.     {
  33.         /// <internalonly/>
  34.         string Name {
  35.             [SecurityPermissionAttribute(SecurityAction.LinkDemand, Flags = SecurityPermissionFlag.Infrastructure)]
  36.             get;
  37.         }
  38.     }
  39.    
  40.     /// <internalonly/>
  41.     [System.Runtime.InteropServices.ComVisible(true)]
  42.     public interface IDynamicMessageSink
  43.     {
  44.         /// <internalonly/>
  45.         // Indicates that a call is starting.
  46.         // The booleans tell if we are on the client side or the server side,
  47.         // and if the call is using AsyncProcessMessage
  48.         [SecurityPermissionAttribute(SecurityAction.LinkDemand, Flags = SecurityPermissionFlag.Infrastructure)]
  49.         void ProcessMessageStart(IMessage reqMsg, bool bCliSide, bool bAsync);
  50.         /// <internalonly/>
  51.         // Indicates that a call is returning.
  52.         // The booleans tell if we are on the client side or the server side,
  53.         // and if the call is using AsyncProcessMessage
  54.         [SecurityPermissionAttribute(SecurityAction.LinkDemand, Flags = SecurityPermissionFlag.Infrastructure)]
  55.         void ProcessMessageFinish(IMessage replyMsg, bool bCliSide, bool bAsync);
  56.     }
  57. }

Developer Fusion