2004-01-19  Lluis Sanchez Gual  <lluis@ximian.com>

	* AsyncResult.cs: Added async_callback field and fixed the callback call.
	I thought that async_delegate was the callback, but it is not, it is the
	delegate upon which the async call was invoked. This fixes bug #53020.
	* StackBuilderSink.cs: If the target object is a proxy, make the call
	using the Invoke method of the real proxy.

2003-12-23  Lluis Sanchez Gual  <lluis@ximian.com>

	* ConstructionResponse.cs: Added constructor for exception response.

2003-12-22  Lluis Sanchez Gual  <lluis@ximian.com>

	* MethodCall.cs: Do not try to resolve the method in the serialization
	  constructor, since the type array may not be yet completely deserialized.
	  This fixes bug #52426.

2003-12-10  Lluis Sanchez Gual  <lluis@ximian.com>

	* AsyncResult.cs: Call delegate on async call completion.
	* CADMessages.cs: Removed TODO.

2003-11-28  Dick Porter  <dick@ximian.com>

	* MethodCall.cs: Use the char form of IndexOf, so that the
	comparison is done with the Invariant culture.

2003-11-26  Lluis Sanchez Gual <lluis@ximian.com>

	* MethodCall.cs, MethodResponse.cs, ReturnMessage.cs: Implemented
	  HasVarArgs property.

2003-11-25  Lluis Sanchez Gual <lluis@ximian.com>

	* AsyncResult.cs, CallContext.cs: Added private constructor.
	* ReturnMessage.cs: Added parameter array length check.

2003-11-18  Lluis Sanchez Gual <lluis@ximian.com>

	* ArgInfo.cs, ClientContextTerminatorSink.cs, ErrorMessage.cs, MethodCall.cs,
	  MethodResponse.cs, MonoMethodMessage.cs, ServerContextTerminatorSink.cs,
	  StackBuilderSink.cs: Fixed class visibility.
	* CADMessages.cs: Added null reference check in SaveLogicalCallContext.
	* ISerializationRootObject.cs: Added.

2003-11-17  Lluis Sanchez Gual <lluis@ximian.com>

	* StackBuilderSink.cs: Implemented AsyncProcessMessage().
	
2003-11-16  Lluis Sanchez Gual <lluis@ximian.com>

	* CADMessages.cs: Added methods for setting and getting the logical call
	  context.
	* ConstructionCall.cs: Fixed signature of some methods.
	* ConstructionResponse.cs: Fixed signature of constructor and added missing
	  property.
	* LogicalCallContext.cs: Removed TODO.
	* MethodCall.cs, MethodResponse.cs: Added support for LogicalCallContext in
	  consturctor.
	* MethodReturnMessageWrapper.cs: Removed some unneded methods.

2003-11-11  Lluis Sanchez Gual  <lluis@ximian.com>

	* ConstructionCall.cs, ReturnMessage.cs: minor fixes.

2003-10-23  Lluis Sanchez Gual  <lluis@ximian.com>

	* MethodCall.cs: In the constructor that takes a CADMethodCallMessage
	  object, make sure strings are not reused across domains.

2003-10-08  Lluis Sanchez Gual  <lluis@ximian.com>

	* CADMessages.cs: added smuggeling argument support for some instances
	  of MarshalByRefObject. This should make the cross-appdomain channel 
	  even faster. Some other minor fixes.

2003-10-07  Lluis Sanchez Gual  <lluis@ximian.com>

	* CADMessages.cs: improved argument smuggeling. Now it supports strings,
	  datetime and arrays of primitive types. This makes CAD much faster.
	* AsyncResult.cs: Added property to store the call message.

2003-09-11  Lluis Sanchez Gual  <lluis@ximian.com>

	* ArgInfo.cs: Include parameters with the Out flag in the out parameters list.
	* CallContext.cs: SetCurrentCallContext now returns the old context, so it
	  can be later restored with new new method RestoreCallContext().
	* ReturnMessage.cs: Some fixes in the way the class deals with output parameters,
	  to match MS.NET behavior.

2003-08-28  Lluis Sanchez Gual  <lluis@ximian.com>

	* MonoMethodMessage.cs: Moved CallType into namespace declaration.

2003-08-25  Lluis Sanchez Gual <lluis@ximian.com>

	* AsyncResult.cs: Added method EndInvoke(). Fixed SyncProcessMessage().
	* CallContext.cs: Clean current logical context before setting the new
	  values form LogicalCallContext (SetCurrentCallContext).
	* MonoMethodMessage.cs: Added new CallType field and enum.
	* StackBuilderSink.cs: Improved error message.

2003-08-20  Lluis Sanchez Gual <lluis@ximian.com>

	* MethodCall.cs: Changed exception text to match MS.NET (more or less).
	* AsyncResult.cs: Added new fields to store async calls results.

2003-08-17  Lluis Sanchez Gual <lluis@ximian.com>

	* MethodCall.cs: Throw the right exception if the target object is not
	  found when resolving the target method.

2003-08-17  Lluis Sanchez Gual <lluis@ximian.com>

	* CallContext.cs: Fixed bug #47686.

2003-08-14  Lluis Sanchez Gual <lluis@ximian.com>

	* CADMessages.cs: Enabled smuggeling of primitive type parameters (as suggested
	  by Patrik).
	* CallContext.cs: Impplemented.
	* LogicalCallContext.cs: Implemented.
	* MonoMethodMessage.cs: Added setter for LogicalCallContext property.

2003-07-25  Lluis Sanchez Gual <lluis@ximian.com>

	* ArgInfo.cs: Use Type.IsByRef to check if a parameter is a ref or
	  out parameter.
	* MethodCall.cs: Improved checking if the requested client type for the target
	  object can be casted to the server type. Now not only checks type name,
	  but also the type hierarchy and implemented interfaces. Also implemented
	  method ToString().
	* MethodResponse.cs: Imlemented ToString().
	* ReturnMessage.cs: In the exception constructor, allow the request to be null.
	  Implemented ToString().
	* StackBuilderSink.cs: Check type of parameters before calling the target method.
	  (a wrong type would make the runtime to crash).

2003-07-23  Lluis Sanchez Gual <lluis@ximian.com>

	* MethodDictionary.cs: Fixed Add method. If the property is method
	  property, then there is no need it to the internal properties table.

2003-07-21  Lluis Sanchez Gual <lluis@ximian.com>

	* MethodCall.cs: Fixed copy constructor, when the message to copy does not
	  implement IMethodMessage.

2003-07-09  Jean-Marc André <jean-marc.andre@polymtl.ca>

	* ReturnMessage.cs: Bug fix. GetOutArgName didn't return the right Name for the given out parameter.

2003-05-13  Lluis Sanchez Gual <lluis@ideary.com>
	
	* MethodCall.cs: ResolveMethod now uses the type of the target object (identified
	  by the uri) instead of the type specified by TypeName (only if both types have
	  the same name).

2003-04-10  Lluis Sanchez Gual <lluis@ideary.com>
	
	* AsyncResult.cs: implemented some methods.
	* ClientContextTerminatorSink.cs: Improved support for Async and OneWay messages.
	* MonoMethodMessage.cs: Added member needed to support Async messages.
	* ServerObjectTerminatorSink.cs: Improved support for Async and OneWay messages.

2003-03-21  Lluis Sanchez Gual <lluis@ideary.com>
	
	* CADMessages.cs: removed some warnings.
	* ClientContextTerminatorSink.cs: added support for dynamic sinks.
	* ConstructionCall.cs: added internal property IsContextOK.
	* MethodResponse.cs: fixed management of output parameters.
	* ServerObjectTerminatorSink.cs: added support for dynamic sinks.

2003-03-03  Lluis Sanchez Gual <lluis@ideary.com>

	* ConstructionCall.cs: Added internal constructor. Added setter for activation attributes.
	  Some other minor corrections.
	* EnvoyTerminatorSink.cs: Message now redirected to current context's client sink chain.
	* MethodCall.cs: Added method for copying messages.

2003-02-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* MethodCall.cs:
	(MethodBase): resolve the method if it's not already done.

2003-02-18  Lluis Sanchez Gual <lluis@ideary.com>

	* IInternalMessage.cs: Added. Provides some useful methods for method messages.
	* ServerContextTerminatorSink.cs: Added support for construction messages.
	* MethodCall.cs: Implemented serialization support. Added support for IInternalMessage.
	* MethodDictionary.cs: Added support for IInternalMessage.
	* MethodResponse.cs: Added serialization support. Added support for IInternalMessage.
	* MonoMethodMessage.cs: Added support for IInternalMessage.
	* ReturnMessage.cs: Added support for IInternalMessage.
	* ClientContextTerminatorSink.cs: Added.
	* ConstructionCall.cs: Added.
	* ConstructionCallDictionary.cs: Added.
	* ConstructionResponse.cs: Added.
	* EnvoyTerminatorSink.cs: Added.
	
2003-02-07  Patrik Torstensson

	* CADMessages.cs: Disable smuggeling of objects cross domain, still issues casing remoting
	  to fail. (fixed formating)

2003-02-07  Lluis Sanchez Gual <lluis@ideary.com>

	* CADMessages.cs: Some minor changes that allow reuse of ObjRef methods.
	
2003-02-05  Lluis Sanchez Gual <lluis@ideary.com>
	
	* ReturnMessage.cs, MethodResponse.cs: OutArgs initialized to an empty array
	  when the the message returns an exception.

2003-02-04  Lluis Sanchez Gual <lluis@ideary.com>
	
	* ServerContextTerminatorSink.cs: Modified to work with new types of identities.
	* ReturnMessage.cs: Removed internal dependence to MonoMethodMessage. It is not needed now.
	* MonoMethodMessage.cs: Now only has method call keys in the dictionary. 
	* MethodReturnDictionary.cs, MethodCallDictionary.cs: Made public the list of 
	  method keys. This list is used in MessageFormatter.
	* MethodDictionary.cs: Corrected some minor bugs.
	* MethodCall.cs: minor correction on constructor.

2003-02-03 Patrik Torstensson

	* MethodResponse.cs: Implemented
	* MethodCall.cs: added support for Cross appdomain messages, implemented some
	missing methods.
	* MethodDictionary.cs: made serializible and added methods to get internal properties.
	* MonoMethodMessage.cs: internal dictionary is now serializible
	* ReturnMessage.cs: made serializible
	* ErrorMessage.cs: typo fix
	
	* CADMessage.cs: new file, implements cross appdomain messages, both call and return. 
	Princip of this classes is to move unmutable objects and primitivs between appdomains
	without marshalling. This increase performance a lot of the cross appdomain channel.
	
2003-01-29  Lluis Sanchez Gual <lluis@ideary.com>
	
	* ServerContextTerminatorSink.cs: now it forwards messages to the target identity,
	  which knows how to manage each type of service.
	* StackBuilderSink.cs: added a reference to the target object.

2002-12-28  Patrik Torstensson

	* RemotingSurrogateSelector.cs: Added serialization support for MBR's.
	* RemotingSurrogate.cs: Moved ObjRefSurrogate and MBRSurrogate to new file.
	* ErrorMessage.cs: Dummy used when an exception occours.
	* MonoMethodMessage.cs: Added Serializable and support for be created with null methods

2002-12-26  Lluis Sanchez Gual <lluis@ideary.com>

	* ReturnMessage.cs: Implemented property Properties
	* RemotingSurrogateSelector.cs: Implemented serialization support for ObjRef.
	* MonoMethodMessage.cs: Implemented Properties and MethodSignature properties.
	* MethodReturnMessageWrapper.cs: Implemented.
	* MethodCallMessageWrapper.cs: Implemented.
	* MethodCall.cs: Implemented.
	* Header.cs: Small corrections to make it work.
	* MethodDictionary.cs: Added.
	* MethodCallDictionary.cs: Added.
	* MethodReturnDictionary.cs: Added.
	* ArgInfo.cs: Added.

2002-12-20  Lluis Sanchez Gual <lluis@ideary.com>

	* MonoMethodMessage.cs: Implemented property Uri

2002-12-20  Lluis Sanchez Gual <lluis@ideary.com>

	* ServerContextTerminatorSink.cs: Added
	* ServerObjectTerminatorSink.cs: Added
	* StackBuilderSink.cs: Added

2002-12-10  Jaime Anguiano Olarra <jaime@gnome.org>

	* CallContext.c: Added to the CVS.

2002-08-22  Nick Drochak  <ndrochak@gol.com>

	* RemotingSurrogateSelector.cs (SetRootObject): Function should return
	void, not object.

2002-08-03  Duncan Mak  <duncan@ximian.com>

	* MethodCall.cs: 
	* MethodResponse.cs: More visibility fixes. Hopefully this is the
	last of it.

2002-08-02  Duncan Mak  <duncan@ximian.com>

	* MethodCall.cs: 
	* MethodCallMessageWrapper.cs: 
	* MethodReturnMessageWrapper.cs: Various visibility fixes.

	* RemotingSurrogateSelector.cs: Added, replaced RemoteSurrogateSelector.

2002-07-31  Duncan Mak  <duncan@ximian.com>
	
	* MethodCallMessageWrapper.cs:
	* MethodReturnMessageWrapper.cs: Revert the last patch and made it
	work. Thanks to Gonzalo for reminding me to chain the constructors.

2002-07-31  Duncan Mak  <duncan@ximian.com>

	* MethodCallMessageWrapper.cs:
	* MethodReturnMessageWrapper.cs: Remove reference to
	InternalMessageWrapper. It's probably an MS private class, even
	though it's visible in the documentation.

2002-07-31  Duncan Mak  <duncan@ximian.com>

	* InternalMessageWrapper.cs: 
	* MessageSurrogateFilter.cs: 
	* MethodCall.cs: 
	* MethodCallMessageWrapper.cs: 
	* MethodResponse.cs: 
	* MethodReturnMessageWrapper.cs: 

	* RemoteSurrogateSelector.cs: Added to CVS. 

	* MonoMethodMessage.cs: 
	* ReturnMessage.cs: Add set in the Uri property.

2002-07-24  Duncan Mak  <duncan@ximian.com>

	* OneWayAttribute.cs: Added to CVS.

2002-07-23  Duncan Mak  <duncan@ximian.com>

	* HeaderHandler.cs: Added.

	* IRemotingFormatter.cs: Added to CVS.

	* IMethodMessage.cs: IMethodMessage inherits from IMessage.

Thu Apr 4 13:13:20 CEST 2002 Paolo Molaro <lupus@ximian.com>

	* IMethodReturnMessage.cs: added IMethodMessage, IMessage interfaces.
	* ReturnMessage.cs: stubbed out Properties property.

2002-03-21  Dietmar Maurer  <dietmar@ximian.com>

	* AsyncResult.cs: impl.

2002/03/04  Nick Drochak  <ndrochak@gol.com>

	* Header.cs: Change properties into fields where they should be.
