Exemplo n.º 1
0
        public static ISerializable AsSerializable(this byte[] value, Type type)
        {
            if (!typeof(ISerializable).GetTypeInfo().IsAssignableFrom(type))
            {
                throw new InvalidCastException();
            }
            ISerializable serializable = (ISerializable)Activator.CreateInstance(type);

            using (MemoryStream ms = new MemoryStream(value, false))
                using (BinaryReader reader = new BinaryReader(ms, Encoding.UTF8))
                {
                    serializable.Deserialize(reader);
                }
            return(serializable);
        }
Exemplo n.º 2
0
    /// <summary>
    /// Read serializable object from stream
    /// </summary>
    /// <param name="obj"></param>
    /// <param name="throwing"></param>
    /// <returns></returns>
    /// <exception cref="IOException"></exception>
    internal bool Read(ISerializable obj, bool throwing = true)
    {
        bool b;

        try {
            b = obj.Deserialize(stream);
        }
        catch {
            b = false;
        }
        if (!b && throwing)
        {
            throw new IOException("Can't read serializable object from internal pipe stream.");
        }
        return(b);
    }
Exemplo n.º 3
0
        public static ISerializable Read(this IReadableBuffer r, Func <ISerializable> creator)
        {
            bool noNull = r.ReadBool();

            if (!noNull)
            {
                return(null);
            }
            if (creator == null)
            {
                return(null);
            }
            ISerializable obj = creator();

            obj.Deserialize(r);
            return(obj);
        }
Exemplo n.º 4
0
        public ISerializable ReadObject()
        {
            if (readObject != null)
            {
                return(readObject);
            }

            Type type = Type.GetType(ReadString());

            if (type == null)
            {
                return(null);
            }

            readObject = (ISerializable)Activator.CreateInstance(type);
            readObject.Deserialize(this);
            return(readObject);
        }
Exemplo n.º 5
0
 /// <summary>
 /// Инициализация окна предварительного просмотра изображения
 /// также сопоставление окна с камерой
 /// </summary>
 private void InitializePreview()
 {
     //Установить обновленные данные
     _ViewPreview.Text = this.CameraName;
     //Нужно сначала показать пользователю форму, после чего вставлять в нее видео
     _ViewPreview.Show();
     //Привязка отображения к камере
     try
     {
         ICameraModel camera = _ModelSerializeDevice.Deserialize(SelectedCamera);
         _ModelLiveStream.SetVideoStreamInPanel(camera, _ViewPreview._VideoPanel);
     }
     catch (Exception)
     {
         IsStateSaved = false;
         MessageBox.Show($"Ошибка при установке камеры");
     }
 }
Exemplo n.º 6
0
        } // End of ImplDeserializeEnumerable (...)

        protected virtual Object ImplDeserializeObject(
            IValueUnit objectVu,
            IHierarchicalMetadataSerializationContext context)
        {
            IValueUnit objCtxtLvl             = null;
            ISerializable <IValueUnit> serMgr = null;
            ValueDomObjectSerializationManagerCollection serMgrColl = null;
            ObjectSerializationManagerDescr serMgrDescr             = null;
            String     typeName  = null;
            IValueItem valueItem = null;

            if ((objCtxtLvl = context.Hierarchy.Peek() as IValueUnit) == null)
            {
                return(null);
            }

            if ((valueItem = objCtxtLvl ["SerializationManager"] as IValueItem) == null)
            {
                return(null);
            }

            if (valueItem.Value == null)
            {
                return(null);
            }

            if ((typeName = valueItem.Value.ToString()) == null)
            {
                return(null);
            }

            if ((serMgrColl = ValueDomObjectSerializationManagerCollection.Singleton) == null)
            {
                return(null);
            }

            if ((serMgrDescr = serMgrColl [typeName]) == null)
            {
                return(null);
            }

            return((serMgr = serMgrDescr.SerializationManager) == null
                        ? null : serMgr.Deserialize(objectVu, context));
        } // End of ImplDeserializeObject (...)
Exemplo n.º 7
0
        static public ComponentBase LoadFromStream(iCalObject parent, Stream s, Encoding encoding, ISerializable serializer)
        {
            Type iCalendarType = typeof(iCalendar);

            if (parent != null)
            {
                iCalendarType = parent.iCalendar.GetType();
            }

            ComponentBase component = (ComponentBase)
                                      serializer.Deserialize(s, encoding, iCalendarType);

            if (parent != null)
            {
                parent.AddChild(component);
            }

            return(component);
        }
Exemplo n.º 8
0
 public T GetInterface <T>() where T : class, ISerializable
 {
     if (IsArray)
     {
         if (_array.Length == 0)
         {
             return(null);
         }
         return(_array[0].GetInterface <T>());
     }
     if (_object == null)
     {
         if (_bytes == null)
         {
             return(null);
         }
         if (typeof(T) == typeof(Transaction))
         {
             _object = Transaction.DeserializeFrom(_bytes);
         }
         else
         {
             try
             {
                 _object = Activator.CreateInstance <T>();
                 using (MemoryStream ms = new MemoryStream(_bytes))
                     using (BinaryReader r = new BinaryReader(ms))
                     {
                         _object.Deserialize(r);
                     }
             }
             catch (Exception ex) when(ex is FormatException || ex is MissingMethodException)
             {
             }
         }
     }
     return(_object as T);
 }
Exemplo n.º 9
0
 public T ExecuteDeserialize <T>(string filePath)
 {
     return(mSerializeStrategy.Deserialize <T>(filePath));
 }
Exemplo n.º 10
0
 private void ReadSerializable(ISerializable dest)
 {
     dest.Deserialize(this);
 }
        public void Deserialize(string serName, ISerializable ser)
        {
            XElement subElem = this.elem.Element(serName);

            ser.Deserialize(new XmlDeserializer(subElem));
        }
Exemplo n.º 12
0
            /// @param data
            ///     The json data
            ///
            public static void DeserializeString(this ISerializable serializable, string data)
            {
                var jsonData = JsonWrapper.Deserialize(data);

                serializable.Deserialize(jsonData);
            }
Exemplo n.º 13
0
        protected virtual IEnumerable ImplDeserializeEnumerable(
            IEnumerable value,
            IHierarchicalMetadataSerializationContext context)
        {
            ISerializable <IValueUnit> serMgr = null;
            IValueUnit subCtxtLvl             = null;
            IValueUnit subUnit = null;
            IValueProvider <IEnumerable> valueSequence = null;

            valueSequence = context.Hierarchy.Peek() as IValueSequence;

            if (valueSequence == null)
            {
                yield break;
            }
            if (valueSequence.Value == null)
            {
                yield break;
            }

            IEnumerator ctxtEnumerator = valueSequence.Value.GetEnumerator();

            foreach (Object item in value)
            {
                if (!ctxtEnumerator.MoveNext())
                {
                    yield break;
                }
                else if ((subUnit = item as IValueUnit) == null)
                {
                    if (item is String)   // String is enumerable...
                    {
                        yield return(item);
                    }
                    else
                    {
                        //propValue = pd.GetValue ( InitDto );

                        //if ( _DeserializeEnumerable ( ref propValue, pd, valueItem.Value, context ) )
                        //    continue;
                        //else
                        //    propValue = valueItem.Value;
                    }
                }
                else
                {
                    if ((subCtxtLvl = ctxtEnumerator.Current as IValueUnit) == null)
                    {
                        yield return(null);
                    }
                    else
                    {
                        context.Hierarchy.Push(subCtxtLvl);

                        try     { yield return(serMgr.Deserialize(subUnit, context)); }
                        finally { context.Hierarchy.Pop(); }
                    }
                }
            }

            yield break;
        } // End of ImplDeserializeEnumerable (...)
Exemplo n.º 14
0
 static public iCalendar LoadFromStream(Type iCalendarType, Stream s, Encoding e, ISerializable serializer)
 {
     return((iCalendar)serializer.Deserialize(s, e, iCalendarType));
 }
Exemplo n.º 15
0
 public static void DeserializeData(byte[] buffer, ref int index, ISerializable value)
 {
     value.Deserialize(buffer, ref index);
 }
Exemplo n.º 16
0
 public void Deserialize(ISerializable outObj)
 {
     outObj.Deserialize(stream);
 }
 public void Deserialize(string str)
 {
     _serializer.Deserialize(str);
 }
        protected virtual Boolean ImplDeserializeItem <ContextType> (
            out Object retVal,
            Object item,
            Func <IValueItemBase> getCurrentContextDlg,
            ContextType context)
            where ContextType : ISerializationContext
        {
            retVal = null;

            //Type                                            itemType        = null;
            //NumericStringValue                              numericString   = null;
            IConvertibleString         cnvStr = null;
            ISerializable <IValueUnit> serMgr = null;
            ValueDomObjectSerializationManagerCollection serMgrColl = null;
            ObjectSerializationManagerDescr serMgrDescr             = null;
            IValueUnit subCtxtLvl = null;
            IValueUnit subUnit    = null;
            String     typeName   = null;
            IValueItem valueItem  = null;

            if (item == null)
            {
                retVal = null;
            }
            else if (ImplIsBuiltinType(item.GetType()))
            {
                retVal = item;
            }
            //else if ( ImplIsString ( item.GetType () ) )
            //    if ( (itemType = ImplGetItemType ( context )) == null )
            //        retVal = item;
            //    else if ( itemType == typeof ( String ) )
            //        retVal = item;
            //    else
            //        retVal = ImpConvertToType ( item, itemType );
            //else if ( (numericString = item as NumericStringValue) != null )
            //    retVal = ImpConvertToType ( numericString, ImplGetItemType ( context ) );
            else if (ImplIsString(item.GetType()))
            {
                retVal = ImpConvertToType(item, ImplGetItemType(context));
            }
            else if ((cnvStr = item as IConvertibleString) != null)
            {
                retVal = ImpConvertToType(cnvStr, ImplGetItemType(context));
            }
            else if ((subUnit = item as IValueUnit) == null)
            {
                return(false);
            }
            //propValue = pd.GetValue ( InitDto );

            //if ( _DeserializeEnumerable ( ref propValue, pd, valueItem.Value, context ) )
            //    continue;
            //else
            //    propValue = valueItem.Value;
            else if (getCurrentContextDlg == null)
            {
                return(false);
            }
            else if ((subCtxtLvl = getCurrentContextDlg() as IValueUnit) == null)
            {
                return(false);
            }
            else if ((valueItem = subCtxtLvl ["SerializationManager"] as IValueItem) == null)
            {
                return(false);
            }
            else if (valueItem.Value == null)
            {
                return(false);
            }
            else if ((typeName = valueItem.Value.ToString()) == null)
            {
                return(false);
            }
            else if ((serMgrColl = ValueDomObjectSerializationManagerCollection.Singleton) == null)
            {
                return(false);
            }
            else if ((serMgrDescr = serMgrColl [typeName]) == null)
            {
                return(false);
            }
            else if ((serMgr = serMgrDescr.SerializationManager) == null)
            {
                return(false);
            }
            else
            {
                retVal = serMgr.Deserialize(subUnit, context);
            }

            return(true);
        } // End  of ImplDeserializeItem (...)