Пример #1
0
        public static string Demarshal(Stream stream)
        {
            int size = Int32Marshaler.Demarshal(stream);

            byte[] data = new byte[size];
            stream.Read(data, 0, data.Length);
            return(Encoding.Unicode.GetString(data));
        }
 public static void Marshal(byte[] value, Stream stream)
 {
     Int32Marshaler.Marshal(value.Length, stream);
     if (value.Length > 0)
     {
         stream.Write(value, 0, value.Length);
     }
 }
Пример #3
0
        public void MarshalObject(object value, Stream stream)
        {
            Array array = (Array)value;

            Int32Marshaler.Marshal(array.Length, stream);
            foreach (object element in array)
            {
                _elementMarshaler.MarshalObject(element, stream);
            }
        }
Пример #4
0
        public void MarshalObject(object value, Stream stream)
        {
            List <UniqueSettings> settings = new List <UniqueSettings>(((IEnumerable)value).Cast <UniqueSettings>());

            Int32Marshaler.Marshal(settings.Count(), stream);
            foreach (UniqueSettings element in settings)
            {
                _elementMarshaler.MarshalObject(element, stream);
            }
        }
Пример #5
0
        public void MarshalObject(object value, Stream stream)
        {
            IList list = (IList)value;

            Int32Marshaler.Marshal(list.Count, stream);
            foreach (object element in list)
            {
                MarshalingManager.Marshal(element, stream);
            }
        }
 public static void Marshal(StringDictionary value, Stream stream)
 {
     Int32Marshaler.Marshal(value.Count, stream);
     foreach (DictionaryEntry entry in value)
     {
         string entryKey   = entry.Key.ToString();
         string entryValue = entry.Value == null ? string.Empty : entry.Value.ToString();
         StringMarshaler.Marshal(entryKey, stream);
         StringMarshaler.Marshal(entryValue, stream);
     }
 }
Пример #7
0
        public void MarshalObject(object value, Stream stream)
        {
            DynamicSettings settings = (DynamicSettings)value;

            Int32Marshaler.Marshal(settings.Count(), stream);
            foreach (KeyValuePair <Guid, DynamicSettingsValue> pair in settings)
            {
                GuidMarshaler.Marshal(pair.Key, stream);
                ByteArrayMarshaler.Marshal(pair.Value.Serialize(), stream);
            }
        }
        public static byte[] Demarshal(Stream stream)
        {
            int length = Int32Marshaler.Demarshal(stream);

            byte[] array = new byte[length];
            if (length > 0)
            {
                stream.Read(array, 0, array.Length);
            }
            return(array);
        }
Пример #9
0
        public object DemarshalObject(Stream stream)
        {
            int   count = Int32Marshaler.Demarshal(stream);
            IList list  = (IList)Activator.CreateInstance(ManagedType);

            for (int i = 0; i < count; i++)
            {
                object element = _elementMarshaler.DemarshalObject(stream);
                list.Add(element);
            }
            return(list);
        }
        public static StringDictionary Demarshal(Stream stream)
        {
            StringDictionary dictionary = new StringDictionary();
            int count = Int32Marshaler.Demarshal(stream);

            for (int i = 0; i < count; i++)
            {
                string key   = StringMarshaler.Demarshal(stream);
                string value = StringMarshaler.Demarshal(stream);
                dictionary.Add(key, value);
            }
            return(dictionary);
        }
Пример #11
0
        public object DemarshalObject(Stream stream)
        {
            int   count       = Int32Marshaler.Demarshal(stream);
            Type  elementType = _elementMarshaler.ManagedType;
            Array array       = Array.CreateInstance(elementType, count);

            for (int i = 0; i < count; i++)
            {
                object element = _elementMarshaler.DemarshalObject(stream);
                array.SetValue(element, i);
            }
            return(array);
        }
Пример #12
0
        public object DemarshalObject(Stream stream)
        {
            List <UniqueSettings> collection = new List <UniqueSettings>();
            int count = Int32Marshaler.Demarshal(stream);

            for (int i = 0; i < count; i++)
            {
                UniqueSettings element = (UniqueSettings)_elementMarshaler.DemarshalObject(stream);
                collection.Add(element);
            }
            DynamicSettings settings = (DynamicSettings)Activator.CreateInstance(ManagedType, collection);

            return(settings);
        }
Пример #13
0
        public object DemarshalObject(Stream stream)
        {
            Dictionary <Guid, DynamicSettingsValue> collection = new Dictionary <Guid, DynamicSettingsValue>();
            int count = Int32Marshaler.Demarshal(stream);

            for (int i = 0; i < count; i++)
            {
                Guid   key  = GuidMarshaler.Demarshal(stream);
                byte[] data = ByteArrayMarshaler.Demarshal(stream);
                DynamicSettingsValue entry = new DynamicSettingsValue();
                entry.Deserialize(data);
                collection.Add(key, entry);
            }
            DynamicSettings settings = (DynamicSettings)Activator.CreateInstance(ManagedType, collection);

            return(settings);
        }
Пример #14
0
 public static void Marshal(string value, Stream stream)
 {
     byte[] data = Encoding.Unicode.GetBytes(value);
     Int32Marshaler.Marshal(data.Length, stream);
     stream.Write(data, 0, data.Length);
 }