Beispiel #1
0
 internal void Deserialize(XElement element)
 {
     XElementSerializer.TryRead(element, nameof(TypeBool), e => TypeBool               = XElementSerializer.ToString(e));
     XElementSerializer.TryRead(element, nameof(TypeInt8), e => TypeInt8               = XElementSerializer.ToString(e));
     XElementSerializer.TryRead(element, nameof(TypeInt16), e => TypeInt16             = XElementSerializer.ToString(e));
     XElementSerializer.TryRead(element, nameof(TypeInt32), e => TypeInt32             = XElementSerializer.ToString(e));
     XElementSerializer.TryRead(element, nameof(TypeInt64), e => TypeInt64             = XElementSerializer.ToString(e));
     XElementSerializer.TryRead(element, nameof(TypeNInt), e => TypeNInt               = XElementSerializer.ToString(e));
     XElementSerializer.TryRead(element, nameof(TypeUInt8), e => TypeUInt8             = XElementSerializer.ToString(e));
     XElementSerializer.TryRead(element, nameof(TypeUInt16), e => TypeUInt16           = XElementSerializer.ToString(e));
     XElementSerializer.TryRead(element, nameof(TypeUInt32), e => TypeUInt32           = XElementSerializer.ToString(e));
     XElementSerializer.TryRead(element, nameof(TypeUInt64), e => TypeUInt64           = XElementSerializer.ToString(e));
     XElementSerializer.TryRead(element, nameof(TypeNUInt), e => TypeNUInt             = XElementSerializer.ToString(e));
     XElementSerializer.TryRead(element, nameof(TypeFloat), e => TypeFloat             = XElementSerializer.ToString(e));
     XElementSerializer.TryRead(element, nameof(TypeDouble), e => TypeDouble           = XElementSerializer.ToString(e));
     XElementSerializer.TryRead(element, nameof(TypeVector2), e => TypeVector2         = XElementSerializer.ToString(e));
     XElementSerializer.TryRead(element, nameof(TypeVector3), e => TypeVector3         = XElementSerializer.ToString(e));
     XElementSerializer.TryRead(element, nameof(TypeVector4), e => TypeVector4         = XElementSerializer.ToString(e));
     XElementSerializer.TryRead(element, nameof(TypeMatrix3x3), e => TypeMatrix3x3     = XElementSerializer.ToString(e));
     XElementSerializer.TryRead(element, nameof(TypeMatrix3x4), e => TypeMatrix3x4     = XElementSerializer.ToString(e));
     XElementSerializer.TryRead(element, nameof(TypeMatrix4x4), e => TypeMatrix4x4     = XElementSerializer.ToString(e));
     XElementSerializer.TryRead(element, nameof(TypeUtf8Text), e => TypeUtf8Text       = XElementSerializer.ToString(e));
     XElementSerializer.TryRead(element, nameof(TypeUtf16Text), e => TypeUtf16Text     = XElementSerializer.ToString(e));
     XElementSerializer.TryRead(element, nameof(TypeUtf32Text), e => TypeUtf32Text     = XElementSerializer.ToString(e));
     XElementSerializer.TryRead(element, nameof(TypeFunctionPtr), e => TypeFunctionPtr = XElementSerializer.ToString(e));
 }
Beispiel #2
0
 internal XElement Serialize(string name)
 {
     return(new XElement(
                name,
                XElementSerializer.ToXml(nameof(TypeBool), TypeBool),
                XElementSerializer.ToXml(nameof(TypeInt8), TypeInt8),
                XElementSerializer.ToXml(nameof(TypeInt16), TypeInt16),
                XElementSerializer.ToXml(nameof(TypeInt32), TypeInt32),
                XElementSerializer.ToXml(nameof(TypeInt64), TypeInt64),
                XElementSerializer.ToXml(nameof(TypeNInt), TypeNInt),
                XElementSerializer.ToXml(nameof(TypeUInt8), TypeUInt8),
                XElementSerializer.ToXml(nameof(TypeUInt16), TypeUInt16),
                XElementSerializer.ToXml(nameof(TypeUInt32), TypeUInt32),
                XElementSerializer.ToXml(nameof(TypeUInt64), TypeUInt64),
                XElementSerializer.ToXml(nameof(TypeNUInt), TypeNUInt),
                XElementSerializer.ToXml(nameof(TypeFloat), TypeFloat),
                XElementSerializer.ToXml(nameof(TypeDouble), TypeDouble),
                XElementSerializer.ToXml(nameof(TypeVector2), TypeVector2),
                XElementSerializer.ToXml(nameof(TypeVector3), TypeVector3),
                XElementSerializer.ToXml(nameof(TypeVector4), TypeVector4),
                XElementSerializer.ToXml(nameof(TypeMatrix3x3), TypeMatrix3x3),
                XElementSerializer.ToXml(nameof(TypeMatrix3x4), TypeMatrix3x4),
                XElementSerializer.ToXml(nameof(TypeMatrix4x4), TypeMatrix4x4),
                XElementSerializer.ToXml(nameof(TypeUtf8Text), TypeUtf8Text),
                XElementSerializer.ToXml(nameof(TypeUtf16Text), TypeUtf16Text),
                XElementSerializer.ToXml(nameof(TypeUtf32Text), TypeUtf32Text),
                XElementSerializer.ToXml(nameof(TypeFunctionPtr), TypeFunctionPtr)
                ));
 }
        public void TestColorSerialization(Color value)
        {
            const string Name = "ColorValue";

            var element = XElementSerializer.ToXml(Name, value);

            Check.That(element.Name.LocalName).IsEqualTo(Name);

            Check.That(XElementSerializer.ToColor(element).ToRgb()).IsEqualTo(value.ToRgb());
        }
        public void TestDictionarySerialization(Dictionary <string, string> value)
        {
            const string Name = "DictionaryValue";

            var element = XElementSerializer.ToXml(Name, value);

            Check.That(element.Name.LocalName).IsEqualTo(Name);

            Check.That(XElementSerializer.ToDictionary(element)).IsEquivalentTo(value);
        }
        public void TestIntSerialization(int value)
        {
            const string Name = "IntValue";

            var element = XElementSerializer.ToXml(Name, value);

            Check.That(element.Name.LocalName).IsEqualTo(Name);

            Check.That(XElementSerializer.ToInt(element)).IsEqualTo(value);
        }
        public void TestStringSerialization(string value)
        {
            const string Name = "StringValue";

            var element = XElementSerializer.ToXml(Name, value);

            Check.That(element.Name.LocalName).IsEqualTo(Name);

            Check.That(XElementSerializer.ToString(element)).IsEqualTo(value);
        }
        public void TestBoolSerialization(bool value)
        {
            const string Name = "BoolValue";

            var element = XElementSerializer.ToXml(Name, value);

            Check.That(element.Name.LocalName).IsEqualTo(Name);

            Check.That(XElementSerializer.ToBool(element)).IsEqualTo(value);
        }
Beispiel #8
0
        public static ScriptContent ReadFrom(TextReader reader)
        {
            var document = XDocument.Load(reader);

            var script = new ScriptContent();

            XElementSerializer.TryRead(document.Root, nameof(Name), e => script.Name       = XElementSerializer.ToString(e));
            XElementSerializer.TryRead(document.Root, nameof(Content), e => script.Content = XElementSerializer.ToString(e));
            XElementSerializer.TryRead(document.Root, nameof(HotKey), e => script.HotKey   = (Keys)XElementSerializer.ToInt(e));

            return(script);
        }
Beispiel #9
0
        public void WriteTo(TextWriter writer)
        {
            var document = new XDocument(
                new XElement("script",
                             XElementSerializer.ToXml(nameof(Name), Name),
                             XElementSerializer.ToXml(nameof(Content), Content),
                             XElementSerializer.ToXml(nameof(HotKey), (int)HotKey)
                             )
                );

            document.Save(writer);
        }
Beispiel #10
0
        public override XElement Serialize()
        {
            //We need to serialize both position and rotation so lets create a wrapper to keep them
            XElement transformContainer = new XElement(GetType().Name);
            XElement positionElement    = XElementSerializer.SerializeToXElement(localPosition);
            XElement rotationElement    = XElementSerializer.SerializeToXElement(localRotation);

            transformContainer.Add(positionElement);
            transformContainer.Add(rotationElement);

            return(transformContainer);
        }
Beispiel #11
0
        public override void Deserialize(XElement data)
        {
            XElement positionElement = data.Element(localPosition.GetType().Name);
            XElement rotationElement = data.Element(localRotation.GetType().Name);

            if (positionElement == null)
            {
                throw new PersistanceException("Transform element of entity does not have a position element");
            }
            if (rotationElement == null)
            {
                throw new PersistanceException("Transform element of entity does not have a rotation element");
            }

            localPosition = XElementSerializer.DeserializeFromXElement <Vector3>(positionElement);
            localRotation = XElementSerializer.DeserializeFromXElement <Quaternion>(rotationElement);
        }
Beispiel #12
0
    /// <summary>
    /// Posts an asynchronous message.
    /// </summary>
    /// <param name="client">Instance of SoapClient.</param>
    /// <param name="endpoint">The endpoint.</param>
    /// <param name="soapVersion">The version of SOAP</param>
    /// <param name="body">The body of the SOAP message.</param>
    /// <param name="header">The header of the SOAP message.</param>
    /// <param name="action"></param>
    public static HttpResponseMessage Post(
        this ISoapClient client,
        Uri endpoint,
        SoapVersion soapVersion,
        object body,
        object?header = null,
        IXElementSerializer?xElementSerializer = null,
        string?action = null)
    {
        if (xElementSerializer == null)
        {
            xElementSerializer = new XElementSerializer();
        }

        return(client.Post(endpoint,
                           soapVersion,
                           xElementSerializer.Serialize(body),
                           header != null ? new[] { xElementSerializer.Serialize(header) } : Enumerable.Empty <XElement>()));
    }
Beispiel #13
0
    /// <summary>
    /// Posts an asynchronous message.
    /// </summary>
    /// <param name="client">Instance of SoapClient.</param>
    /// <param name="endpoint">The endpoint.</param>
    /// <param name="soapVersion">The version of SOAP</param>
    /// <param name="body">The body of the SOAP message.</param>
    /// <param name="headers">The headers of the SOAP message.</param>
    /// <param name="action"></param>
    public static HttpResponseMessage Post(
        this ISoapClient client,
        Uri endpoint,
        SoapVersion soapVersion,
        object body,
        IEnumerable <object> headers,
        IXElementSerializer?xElementSerializer = null,
        string?action = null)
    {
        if (xElementSerializer == null)
        {
            xElementSerializer = new XElementSerializer();
        }

        return(client.Post(endpoint,
                           soapVersion,
                           xElementSerializer.Serialize(body),
                           headers.Select(e => xElementSerializer.Serialize(e)),
                           action));
    }
    /// <summary>
    /// Posts an asynchronous message.
    /// </summary>
    /// <param name="client">Instance of SoapClient.</param>
    /// <param name="endpoint">The endpoint.</param>
    /// <param name="soapVersion">The version of SOAP</param>
    /// <param name="body">The body of the SOAP message.</param>
    /// <param name="headers">The headers of the SOAP message.</param>
    /// <param name="action"></param>
    public static Task <HttpResponseMessage> PostAsync(
        this ISoapClient client,
        Uri endpoint,
        SoapVersion soapVersion,
        object body,
        IEnumerable <object> headers,
        IXElementSerializer?xElementSerializer = null,
        string?action = null,
        CancellationToken cancellationToken = default(CancellationToken))
    {
        if (xElementSerializer == null)
        {
            xElementSerializer = new XElementSerializer();
        }

        return(client.PostAsync(endpoint,
                                soapVersion,
                                xElementSerializer.Serialize(body),
                                headers.Select(e => xElementSerializer.Serialize(e)),
                                action,
                                cancellationToken));
    }
    /// <summary>
    /// Posts an asynchronous message.
    /// </summary>
    /// <param name="client">Instance of SoapClient.</param>
    /// <param name="endpoint">The endpoint.</param>
    /// <param name="soapVersion">The version of SOAP</param>
    /// <param name="bodies">The bodies of the SOAP message.</param>
    /// <param name="header">The header of the SOAP message.</param>
    /// <param name="action"></param>
    public static Task <HttpResponseMessage> PostAsync(
        this ISoapClient client,
        Uri endpoint,
        SoapVersion soapVersion,
        IEnumerable <object> bodies,
        object header,
        IXElementSerializer?xElementSerializer = null,
        string?action = null,
        CancellationToken cancellationToken = default(CancellationToken))
    {
        if (xElementSerializer == null)
        {
            xElementSerializer = new XElementSerializer();
        }

        return(client.PostAsync(endpoint,
                                soapVersion,
                                bodies.Select(e => xElementSerializer.Serialize(e)),
                                header != null ? new[] { xElementSerializer.Serialize(header) } : Enumerable.Empty <XElement>(),
                                action,
                                cancellationToken));
    }
        public static UnrealApplicationSettings FromXml(XElement element)
        {
            var settings = new UnrealApplicationSettings();

            XElementSerializer.TryRead(element, nameof(settings.Name), e => settings.Name               = XElementSerializer.ToString(e));
            XElementSerializer.TryRead(element, nameof(settings.Version), e => settings.Version         = (UnrealEngineVersion)XElementSerializer.ToInt(e));
            XElementSerializer.TryRead(element, nameof(settings.ProcessName), e => settings.ProcessName = XElementSerializer.ToString(e));

            XElementSerializer.TryRead(element, nameof(settings.PatternMethod), e => settings.PatternMethod = (PatternMethod)XElementSerializer.ToInt(e));
            XElementSerializer.TryRead(element, nameof(settings.PatternModule), e => settings.PatternModule = XElementSerializer.ToString(e));
            XElementSerializer.TryRead(element, nameof(settings.Pattern), e => settings.Pattern             = XElementSerializer.ToString(e));
            XElementSerializer.TryRead(element, nameof(settings.PatternOffset), e => settings.PatternOffset = XElementSerializer.ToInt(e));

            XElementSerializer.TryRead(element, nameof(settings.UObjectNameOffset), e => settings.UObjectNameOffset               = XElementSerializer.ToInt(e));
            XElementSerializer.TryRead(element, nameof(settings.UObjectOuterOffset), e => settings.UObjectOuterOffset             = XElementSerializer.ToInt(e));
            XElementSerializer.TryRead(element, nameof(settings.FNameEntryIndexOffset), e => settings.FNameEntryIndexOffset       = XElementSerializer.ToInt(e));
            XElementSerializer.TryRead(element, nameof(settings.FNameEntryNameDataOffset), e => settings.FNameEntryNameDataOffset = XElementSerializer.ToInt(e));
            XElementSerializer.TryRead(element, nameof(settings.FNameEntryIsWide), e => settings.FNameEntryIsWide = XElementSerializer.ToBool(e));

            XElementSerializer.TryRead(element, nameof(settings.DisplayFullName), e => settings.DisplayFullName = XElementSerializer.ToBool(e));

            return(settings);
        }