/// <summary> /// Deserialize the message (assumes magic & type already read in) /// </summary> /// <param name="cin">Cin.</param> public override void Deserialize(IBinaryReader cin) { // class & method names Obj = CLRObjectProxy.Find(cin.ReadInt32(), proxyok: true); PropertyName = cin.ReadString(); Index = cin.ReadInt32(); }
public CLRObjectMessage (object obj) : base (TypeObject) { var proxy = CLRObjectProxy.ProxyFor (obj); ObjectId = proxy.ObjectId; ClassName = proxy.ClassName; }
// Serialization /// <summary> /// Serialize the message. /// </summary> /// <param name="cout">Cout.</param> public override void Serialize(IBinaryWriter cout) { base.Serialize(cout); // class & method names cout.WriteInt32(CLRObjectProxy.ProxyIdFor(Obj)); cout.WriteInt32(Index); }
/// <summary> /// Converts to local object /// </summary> /// <returns>The object.</returns> public object ToObject () { object obj = null; if (CLRObjectProxy.TryFindObject (ObjectId, out obj)) return obj; else return new CLRObjectProxy (ObjectId); }
// Serialization /// <summary> /// Serialize the message. /// </summary> /// <param name="cout">Cout.</param> public override void Serialize(IBinaryWriter cout) { base.Serialize(cout); // class & method names cout.WriteInt32(CLRObjectProxy.ProxyIdFor(Obj)); cout.WriteString(PropertyName); CLRMessage.SerializeValue(cout, Value); }
/// <summary> /// Converts to local object /// </summary> /// <returns>The object.</returns> public object ToObject() { object obj = null; if (CLRObjectProxy.TryFindObject(ObjectId, out obj)) { return(obj); } else { return(new CLRObjectProxy(ObjectId)); } }
// Serialization /// <summary> /// Serialize the message. /// </summary> /// <param name="cout">Cout.</param> public override void Serialize(IBinaryWriter cout) { base.Serialize(cout); // class & method names cout.WriteInt32(CLRObjectProxy.ProxyIdFor(Obj)); cout.WriteString(MethodName); // arguments cout.WriteUInt16((ushort)Parameters.Length); for (int i = 0; i < Parameters.Length; i++) { CLRMessage.SerializeValue(cout, Parameters[i]); } }
/// <summary> /// Deserialize the message (assumes magic & type already read in) /// </summary> /// <param name="cin">Cin.</param> public override void Deserialize(IBinaryReader cin) { // class & method names Obj = CLRObjectProxy.Find(cin.ReadInt32(), proxyok: true); MethodName = cin.ReadString(); // arguments var len = (int)cin.ReadUInt16(); Parameters = new object[len]; for (int i = 0; i < len; i++) { Parameters[i] = CLRMessage.DeserializeValue(cin); } }
public CLRReleaseMessage(object obj) : base(TypeRelease) { ObjectId = CLRObjectProxy.ProxyIdFor(obj); }
public CLRProtectMessage(object obj) : base(TypeProtect) { ObjectId = CLRObjectProxy.ProxyIdFor(obj); }
public CLRObjectMessage(CLRObjectProxy proxy) : base(TypeObject) { ObjectId = proxy.ObjectId; ClassName = proxy.ClassName; }