/// <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;
		}
Example #3
0
        // 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);
        }
Example #6
0
        /// <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));
            }
        }
Example #7
0
        // 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]);
            }
        }
Example #8
0
        /// <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);
 }
Example #10
0
 public CLRProtectMessage(object obj)
     : base(TypeProtect)
 {
     ObjectId = CLRObjectProxy.ProxyIdFor(obj);
 }
Example #11
0
 public CLRObjectMessage(CLRObjectProxy proxy)
     : base(TypeObject)
 {
     ObjectId  = proxy.ObjectId;
     ClassName = proxy.ClassName;
 }