X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mcs%2Fclass%2Fcorlib%2FSystem.Runtime.Remoting%2FObjRef.cs;h=7c5edb0a859d0465b0bfa07685fe61a2bae3d44b;hb=9e1f34dd2d7be45b2a3a6b1c133a4a1de8c3d864;hp=2bd66f451662bdcb5a3272baf6b52d8364afa6f7;hpb=53e266903ec6b2d822cf5b0c566f6374df5307a4;p=mono.git diff --git a/mcs/class/corlib/System.Runtime.Remoting/ObjRef.cs b/mcs/class/corlib/System.Runtime.Remoting/ObjRef.cs index 2bd66f45166..7c5edb0a859 100644 --- a/mcs/class/corlib/System.Runtime.Remoting/ObjRef.cs +++ b/mcs/class/corlib/System.Runtime.Remoting/ObjRef.cs @@ -39,13 +39,12 @@ using System.Runtime.Remoting.Channels; using System.Runtime.Remoting.Messaging; using System.Runtime.Remoting.Proxies; -#if NET_2_0 using System.Runtime.ConstrainedExecution; -#endif namespace System.Runtime.Remoting { [Serializable] + [System.Runtime.InteropServices.ComVisible (true)] public class ObjRef : IObjectReference, ISerializable { IChannelInfo channel_info; @@ -82,22 +81,22 @@ namespace System.Runtime.Remoting { if (unmarshalAsProxy) flags |= MarshalledObjectRef; } - public ObjRef (MarshalByRefObject mbr, Type type) + public ObjRef (MarshalByRefObject o, Type requestedType) { - if (mbr == null) - throw new ArgumentNullException ("mbr"); + if (o == null) + throw new ArgumentNullException ("o"); - if (type == null) - throw new ArgumentNullException ("type"); + if (requestedType == null) + throw new ArgumentNullException ("requestedType"); - // The ObjRef can only be constructed if the given mbr + // The ObjRef can only be constructed if the given o // has already been marshalled using RemotingServices.Marshall - uri = RemotingServices.GetObjectUri(mbr); - typeInfo = new TypeInfo(type); + uri = RemotingServices.GetObjectUri (o); + typeInfo = new TypeInfo (requestedType); - if (!type.IsInstanceOfType (mbr)) - throw new RemotingException ("The server object type cannot be cast to the requested type " + type.FullName + "."); + if (!requestedType.IsInstanceOfType (o)) + throw new RemotingException ("The server object type cannot be cast to the requested type " + requestedType.FullName); UpdateChannelInfo(); } @@ -113,9 +112,9 @@ namespace System.Runtime.Remoting { flags |= WellKnowObjectRef; } - protected ObjRef (SerializationInfo si, StreamingContext sc) + protected ObjRef (SerializationInfo info, StreamingContext context) { - SerializationInfoEnumerator en = si.GetEnumerator(); + SerializationInfoEnumerator en = info.GetEnumerator(); // Info to serialize: uri, objrefFlags, typeInfo, envoyInfo, channelInfo bool marshalledValue = true; @@ -170,9 +169,7 @@ namespace System.Runtime.Remoting { } public virtual IChannelInfo ChannelInfo { -#if NET_2_0 [ReliabilityContractAttribute (Consistency.WillNotCorruptState, Cer.Success)] -#endif get { return channel_info; } @@ -209,17 +206,17 @@ namespace System.Runtime.Remoting { } } - public virtual void GetObjectData (SerializationInfo si, StreamingContext sc) + public virtual void GetObjectData (SerializationInfo info, StreamingContext context) { - si.SetType (GetType()); - si.AddValue ("uri", uri); - si.AddValue ("typeInfo", typeInfo, typeof (IRemotingTypeInfo)); - si.AddValue ("envoyInfo", envoyInfo, typeof (IEnvoyInfo)); - si.AddValue ("channelInfo", channel_info, typeof(IChannelInfo)); - si.AddValue ("objrefFlags", flags); + info.SetType (GetType()); + info.AddValue ("uri", uri); + info.AddValue ("typeInfo", typeInfo, typeof (IRemotingTypeInfo)); + info.AddValue ("envoyInfo", envoyInfo, typeof (IEnvoyInfo)); + info.AddValue ("channelInfo", channel_info, typeof(IChannelInfo)); + info.AddValue ("objrefFlags", flags); } - public virtual object GetRealObject (StreamingContext sc) + public virtual object GetRealObject (StreamingContext context) { if ((flags & MarshalledObjectRef) > 0) return RemotingServices.Unmarshal (this); @@ -235,9 +232,7 @@ namespace System.Runtime.Remoting { return identity.IsFromThisAppDomain; } -#if NET_2_0 [ReliabilityContractAttribute (Consistency.WillNotCorruptState, Cer.Success)] -#endif public bool IsFromThisProcess () { foreach (object data in channel_info.ChannelData)