[Top][All Lists]
[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();
+ }
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Dotgnu-pnet-commits] CVS: pnetlib/runtime/System/Runtime/Remoting/Messaging ConstructionCall.cs, 1.2, 1.3 MethodCall.cs, 1.3, 1.4,
Rhys Weatherley <address@hidden> <=
- Prev by Date:
[Dotgnu-pnet-commits] CVS: pnet/engine int_proto.h, 1.77, 1.78 int_table.c, 1.80, 1.81 lib_reflect.c, 1.48, 1.49
- Next by Date:
[Dotgnu-pnet-commits] CVS: pnetlib/runtime/System/Runtime/Serialization FormatterServices.cs, 1.5, 1.6
- Previous by thread:
[Dotgnu-pnet-commits] CVS: pnet/engine int_proto.h, 1.77, 1.78 int_table.c, 1.80, 1.81 lib_reflect.c, 1.48, 1.49
- Next by thread:
[Dotgnu-pnet-commits] CVS: pnetlib/runtime/System/Runtime/Serialization FormatterServices.cs, 1.5, 1.6
- Index(es):