dotgnu-pnet-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Dotgnu-pnet-commits] CVS: pnetlib/runtime/System/Runtime/Remoting/Mess


From: Rhys Weatherley <address@hidden>
Subject: [Dotgnu-pnet-commits] CVS: pnetlib/runtime/System/Runtime/Remoting/Messaging ConstructionCall.cs, 1.2, 1.3 MethodCall.cs, 1.3, 1.4
Date: Thu, 21 Aug 2003 21:34:12 -0400

Update of /cvsroot/dotgnu-pnet/pnetlib/runtime/System/Runtime/Remoting/Messaging
In directory 
subversions:/tmp/cvs-serv6334/runtime/System/Runtime/Remoting/Messaging

Modified Files:
        ConstructionCall.cs MethodCall.cs 
Log Message:


Missing functionality in "System.Runtime.Remoting.Messaging".


Index: ConstructionCall.cs
===================================================================
RCS file: 
/cvsroot/dotgnu-pnet/pnetlib/runtime/System/Runtime/Remoting/Messaging/ConstructionCall.cs,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -r1.2 -r1.3
*** ConstructionCall.cs 23 Apr 2003 05:39:50 -0000      1.2
--- ConstructionCall.cs 22 Aug 2003 01:34:10 -0000      1.3
***************
*** 37,52 ****
        // Internal state.
        private IActivator activator;
  
        // Constructors.
        public ConstructionCall(Header[] h1) : base(h1) {}
        public ConstructionCall(IMessage msg) : base(msg) {}
  
        // Implement the IConstructionCallMessage interface.
        public Type ActivationType
                        {
                                get
                                {
!                                       // TODO
!                                       return null;
                                }
                        }
--- 37,63 ----
        // Internal state.
        private IActivator activator;
+       private Type activationType;
+       private String activationTypeName;
+       private Object[] attributes;
+       private IList contextProperties;
  
        // Constructors.
        public ConstructionCall(Header[] h1) : base(h1) {}
        public ConstructionCall(IMessage msg) : base(msg) {}
+       internal ConstructionCall(SerializationInfo info,
+                                                         StreamingContext 
context)
+                       : base(info, context) {}
  
        // Implement the IConstructionCallMessage interface.
+       [TODO]
        public Type ActivationType
                        {
                                get
                                {
!                                       if(activationType == null && 
activationTypeName != null)
!                                       {
!                                               // TODO: resolve the type from 
its name
!                                       }
!                                       return activationType;
                                }
                        }
***************
*** 55,60 ****
                                get
                                {
!                                       // TODO
!                                       return null;
                                }
                        }
--- 66,70 ----
                                get
                                {
!                                       return activationTypeName;
                                }
                        }
***************
*** 74,79 ****
                                get
                                {
!                                       // TODO
!                                       return null;
                                }
                        }
--- 84,88 ----
                                get
                                {
!                                       return attributes;
                                }
                        }
***************
*** 82,97 ****
                                get
                                {
!                                       // TODO
!                                       return null;
                                }
                        }
  
        // Override the parent properties.
        public override IDictionary Properties
                        {
                                get
                                {
!                                       // TODO
!                                       return null;
                                }
                        }
--- 91,118 ----
                                get
                                {
!                                       if(contextProperties == null)
!                                       {
!                                               contextProperties = new 
ArrayList();
!                                       }
!                                       return contextProperties;
                                }
                        }
  
        // Override the parent properties.
+       [TODO]
        public override IDictionary Properties
                        {
                                get
                                {
!                                       if(InternalProperties == null)
!                                       {
!                                               InternalProperties = new 
Hashtable();
!                                       }
!                                       if(ExternalProperties == null)
!                                       {
!                                               // TODO: use a message 
dictionary
!                                               ExternalProperties = new 
Hashtable();
!                                       }
!                                       return ExternalProperties;
                                }
                        }

Index: MethodCall.cs
===================================================================
RCS file: 
/cvsroot/dotgnu-pnet/pnetlib/runtime/System/Runtime/Remoting/Messaging/MethodCall.cs,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -r1.3 -r1.4
*** MethodCall.cs       25 Apr 2003 04:45:13 -0000      1.3
--- MethodCall.cs       22 Aug 2003 01:34:10 -0000      1.4
***************
*** 37,51 ****
        protected IDictionary ExternalProperties;
        protected IDictionary InternalProperties;
  
        // Constructors.
-       [TODO]
        public MethodCall(Header[] h1)
                        {
!                               // TODO
                        }
-       [TODO]
        public MethodCall(IMessage msg)
                        {
!                               // TODO
                        }
  
--- 37,88 ----
        protected IDictionary ExternalProperties;
        protected IDictionary InternalProperties;
+       private Object[] args;
+       private String methodName;
+       private String typeName;
+       private String uri;
+       private bool hasVarArgs;
+       private LogicalCallContext context;
+       private MethodBase method;
+       private ParameterInfo[] parameters;
+       private Object srvID;
+       private Type[] signature;
  
        // Constructors.
        public MethodCall(Header[] h1)
                        {
!                               Init();
!                               if(h1 != null)
!                               {
!                                       foreach(Header h in h1)
!                                       {
!                                               ProcessHeader(h.Name, h.Value);
!                                       }
!                               }
!                               ResolveMethod();
!                               AccessCheck();
                        }
        public MethodCall(IMessage msg)
                        {
!                               if(msg == null)
!                               {
!                                       throw new ArgumentNullException("msg");
!                               }
!                               Init();
!                               IDictionaryEnumerator e = 
msg.Properties.GetEnumerator();
!                               while(e.MoveNext())
!                               {
!                                       ProcessHeader(e.Key.ToString(), 
e.Value);
!                               }
!                               ResolveMethod();
!                               AccessCheck();
!                       }
!       internal MethodCall(SerializationInfo info, StreamingContext context)
!                       {
!                               if(info == null)
!                               {
!                                       throw new ArgumentNullException("info");
!                               }
!                               Init();
!                               RootSetObjectData(info, context);
                        }
  
***************
*** 56,185 ****
                                get
                                {
!                                       // TODO
!                                       return null;
                                }
                        }
-       [TODO]
        public int ArgCount
                        {
                                get
                                {
!                                       // TODO
!                                       return 0;
                                }
                        }
-       [TODO]
        public Object[] Args
                        {
                                get
                                {
!                                       // TODO
!                                       return null;
                                }
                        }
-       [TODO]
        public bool HasVarArgs
                        {
                                get
                                {
!                                       // TODO
!                                       return false;
                                }
                        }
-       [TODO]
        public LogicalCallContext LogicalCallContext
                        {
                                get
                                {
!                                       // TODO
!                                       return null;
                                }
                        }
-       [TODO]
        public MethodBase MethodBase
                        {
                                get
                                {
!                                       // TODO
!                                       return null;
                                }
                        }
-       [TODO]
        public String MethodName
                        {
                                get
                                {
!                                       // TODO
!                                       return null;
                                }
                        }
-       [TODO]
        public Object MethodSignature
                        {
                                get
                                {
!                                       // TODO
!                                       return null;
                                }
                        }
-       [TODO]
        public String TypeName
                        {
                                get
                                {
!                                       // TODO
!                                       return null;
                                }
                        }
-       [TODO]
        public String Uri
                        {
                                get
                                {
!                                       // TODO
!                                       return null;
                                }
                        }
-       [TODO]
        public int InArgCount
                        {
                                get
                                {
!                                       // TODO
!                                       return 0;
                                }
                        }
-       [TODO]
        public Object[] InArgs
                        {
                                get
                                {
!                                       // TODO
!                                       return null;
                                }
                        }
-       [TODO]
        public Object GetArg(int argNum)
                        {
!                               // TODO
!                               return null;
                        }
-       [TODO]
        public String GetArgName(int index)
                        {
!                               // TODO
!                               return null;
                        }
-       [TODO]
        public Object GetInArg(int argNum)
                        {
!                               // TODO
!                               return null;
                        }
-       [TODO]
        public String GetInArgName(int index)
                        {
!                               // TODO
!                               return null;
                        }
  
--- 93,288 ----
                                get
                                {
!                                       if(InternalProperties == null)
!                                       {
!                                               InternalProperties = new 
Hashtable();
!                                       }
!                                       if(ExternalProperties == null)
!                                       {
!                                               // TODO: use a message 
dictionary
!                                               ExternalProperties = new 
Hashtable();
!                                       }
!                                       return ExternalProperties;
                                }
                        }
        public int ArgCount
                        {
                                get
                                {
!                                       if(args != null)
!                                       {
!                                               return args.Length;
!                                       }
!                                       else
!                                       {
!                                               return 0;
!                                       }
                                }
                        }
        public Object[] Args
                        {
                                get
                                {
!                                       return args;
                                }
                        }
        public bool HasVarArgs
                        {
                                get
                                {
!                                       return hasVarArgs;
                                }
                        }
        public LogicalCallContext LogicalCallContext
                        {
                                get
                                {
!                                       if(context == null)
!                                       {
!                                               context = new 
LogicalCallContext();
!                                       }
!                                       return context;
                                }
                        }
        public MethodBase MethodBase
                        {
                                get
                                {
!                                       return method;
                                }
                        }
        public String MethodName
                        {
                                get
                                {
!                                       return methodName;
                                }
                        }
        public Object MethodSignature
                        {
                                get
                                {
!                                       if(signature == null)
!                                       {
!                                               FetchParameters();
!                                               if(parameters != null)
!                                               {
!                                                       signature = new Type 
[parameters.Length];
!                                                       int posn;
!                                                       for(posn = 0; posn < 
signature.Length; ++posn)
!                                                       {
!                                                               signature[posn] 
=
!                                                                       
parameters[posn].ParameterType;
!                                                       }
!                                               }
!                                       }
!                                       return signature;
                                }
                        }
        public String TypeName
                        {
                                get
                                {
!                                       return typeName;
                                }
                        }
        public String Uri
                        {
                                get
                                {
!                                       return uri;
!                               }
!                               set
!                               {
!                                       uri = value;
                                }
                        }
        public int InArgCount
                        {
                                get
                                {
!                                       FetchParameters();
!                                       int count = 0;
!                                       if(parameters != null)
!                                       {
!                                               foreach(ParameterInfo p in 
parameters)
!                                               {
!                                                       
if(!(p.ParameterType.IsByRef))
!                                                       {
!                                                               ++count;
!                                                       }
!                                               }
!                                       }
!                                       return count;
                                }
                        }
        public Object[] InArgs
                        {
                                get
                                {
!                                       int count = InArgCount;
!                                       Object[] inArgs = new Object [count];
!                                       if(parameters != null && args != null)
!                                       {
!                                               int posn;
!                                               count = 0;
!                                               for(posn = 0; posn < 
args.Length; ++posn)
!                                               {
!                                                       
if(!(parameters[posn].ParameterType.IsByRef))
!                                                       {
!                                                               inArgs[count++] 
= args[posn];
!                                                       }
!                                               }
!                                       }
!                                       return inArgs;
                                }
                        }
        public Object GetArg(int argNum)
                        {
!                               return args[argNum];
                        }
        public String GetArgName(int index)
                        {
!                               FetchParameters();
!                               return parameters[index].Name;
                        }
        public Object GetInArg(int argNum)
                        {
!                               FetchParameters();
!                               if(parameters != null && args != null)
!                               {
!                                       int posn;
!                                       for(posn = 0; posn < args.Length; 
++posn)
!                                       {
!                                               
if(!(parameters[posn].ParameterType.IsByRef))
!                                               {
!                                                       if(argNum == 0)
!                                                       {
!                                                               return 
args[posn];
!                                                       }
!                                                       --argNum;
!                                               }
!                                       }
!                               }
!                               throw new 
IndexOutOfRangeException(_("Arg_InvalidArrayIndex"));
                        }
        public String GetInArgName(int index)
                        {
!                               FetchParameters();
!                               if(parameters != null)
!                               {
!                                       int posn;
!                                       for(posn = 0; posn < args.Length; 
++posn)
!                                       {
!                                               
if(!(parameters[posn].ParameterType.IsByRef))
!                                               {
!                                                       if(index == 0)
!                                                       {
!                                                               return 
parameters[posn].Name;
!                                                       }
!                                                       --index;
!                                               }
!                                       }
!                               }
!                               throw new 
IndexOutOfRangeException(_("Arg_InvalidArrayIndex"));
                        }
  
***************
*** 226,233 ****
  
        // Set the server identity within this object.
-       [TODO]
        internal void SetServerIdentity(Object srvID)
                        {
                                // TODO
                        }
  
--- 329,358 ----
  
        // Set the server identity within this object.
        internal void SetServerIdentity(Object srvID)
                        {
+                               this.srvID = srvID;
+                       }
+ 
+       // Process a header.
+       [TODO]
+       private void ProcessHeader(String name, Object value)
+                       {
                                // TODO
+                       }
+ 
+       // Perform an access check on the resolved method.
+       [TODO]
+       private void AccessCheck()
+                       {
+                               // TODO
+                       }
+ 
+       // Fetch the parameter information from the method block.
+       private void FetchParameters()
+                       {
+                               if(parameters == null && method != null)
+                               {
+                                       parameters = method.GetParameters();
+                               }
                        }
  





reply via email to

[Prev in Thread] Current Thread [Next in Thread]