The Labs \ Source Viewer \ SSCLI \ System.Runtime.Serialization.Formatters.Binary \ BinaryMethodReturnMessage

  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. namespace System.Runtime.Serialization.Formatters.Binary
  16. {
  17.     using System;
  18.     using System.Collections;
  19.     using System.Runtime.Remoting.Messaging;
  20.     using System.Reflection;
  21.    
  22.    
  23.     [Serializable()]
  24.     internal sealed class BinaryMethodCallMessage
  25.     {
  26.         object[] _inargs = null;
  27.         string _methodName = null;
  28.         string _typeName = null;
  29.         object _methodSignature = null;
  30.        
  31.         Type[] _instArgs = null;
  32.         object[] _args = null;
  33.         LogicalCallContext _logicalCallContext = null;
  34.        
  35.         object[] _properties = null;
  36.        
  37.         internal BinaryMethodCallMessage(string uri, string methodName, string typeName, Type[] instArgs, object[] args, object methodSignature, LogicalCallContext callContext, object[] properties)
  38.         {
  39.             _methodName = methodName;
  40.             _typeName = typeName;
  41.             //_uri = uri;
  42.             if (args == null)
  43.                 args = new object[0];
  44.            
  45.             _inargs = args;
  46.             _args = args;
  47.             _instArgs = instArgs;
  48.             _methodSignature = methodSignature;
  49.             if (callContext == null)
  50.                 _logicalCallContext = new LogicalCallContext();
  51.             else
  52.                 _logicalCallContext = callContext;
  53.            
  54.             _properties = properties;
  55.            
  56.         }
  57.        
  58.         public string MethodName {
  59.             get { return _methodName; }
  60.         }
  61.        
  62.         public string TypeName {
  63.             get { return _typeName; }
  64.         }
  65.        
  66.        
  67.         public Type[] InstantiationArgs {
  68.             get { return _instArgs; }
  69.         }
  70.        
  71.         public object MethodSignature {
  72.             get { return _methodSignature; }
  73.         }
  74.        
  75.         public object[] Args {
  76.             get { return _args; }
  77.         }
  78.        
  79.         public LogicalCallContext LogicalCallContext {
  80.             get { return _logicalCallContext; }
  81.         }
  82.        
  83.         public bool HasProperties {
  84.             get { return (_properties != null); }
  85.         }
  86.        
  87.         internal void PopulateMessageProperties(IDictionary dict)
  88.         {
  89.             foreach (DictionaryEntry de in _properties) {
  90.                 dict[de.Key] = de.Value;
  91.             }
  92.         }
  93.        
  94.     }
  95.    
  96.    
  97.     [Serializable()]
  98.     internal class BinaryMethodReturnMessage
  99.     {
  100.         object[] _outargs = null;
  101.         Exception _exception = null;
  102.         object _returnValue = null;
  103.        
  104.         object[] _args = null;
  105.         LogicalCallContext _logicalCallContext = null;
  106.        
  107.         object[] _properties = null;
  108.        
  109.         internal BinaryMethodReturnMessage(object returnValue, object[] args, Exception e, LogicalCallContext callContext, object[] properties)
  110.         {
  111.             _returnValue = returnValue;
  112.             if (args == null)
  113.                 args = new object[0];
  114.            
  115.             _outargs = args;
  116.             _args = args;
  117.             _exception = e;
  118.            
  119.             if (callContext == null)
  120.                 _logicalCallContext = new LogicalCallContext();
  121.             else
  122.                 _logicalCallContext = callContext;
  123.            
  124.             _properties = properties;
  125.         }
  126.        
  127.         public Exception Exception {
  128.             get { return _exception; }
  129.         }
  130.        
  131.         public object ReturnValue {
  132.             get { return _returnValue; }
  133.         }
  134.        
  135.         public object[] Args {
  136.             get { return _args; }
  137.         }
  138.        
  139.         public LogicalCallContext LogicalCallContext {
  140.             get { return _logicalCallContext; }
  141.         }
  142.        
  143.         public bool HasProperties {
  144.             get { return (_properties != null); }
  145.         }
  146.        
  147.         internal void PopulateMessageProperties(IDictionary dict)
  148.         {
  149.             foreach (DictionaryEntry de in _properties) {
  150.                 dict[de.Key] = de.Value;
  151.             }
  152.         }
  153.     }
  154. }

Developer Fusion