1
2
3
4
5
6 using System;
7 using System.Collections;
8
9 namespace System.Xml.Serialization
10 {
11 public abstract class XmlSerializable
12 {
13 public XmlSerializable() : objectId(Uuid.Random())
14 {
15 }
16 public virtual default ~XmlSerializable();
17 public const Uuid& ObjectId() const
18 {
19 return objectId;
20 }
21 public void SetObjectId(const Uuid& objectId_)
22 {
23 objectId = objectId_;
24 }
25 public virtual string ClassName() const
26 {
27 return typename(*this);
28 }
29 public abstract Result<bool> SetObjectXmlAttributes(System.Xml.Element* element);
30 public abstract int ClassId() const;
31 public Result<System.Xml.Element*> ToXml(const string& elementName)
32 {
33 XmlSerializationContext ctx;
34 return ToXml(elementName, ctx);
35 }
36 public abstract Result<System.Xml.Element*> ToXml(const string& elementName, XmlSerializationContext& ctx);
37 public Result<bool> FromXml(System.Xml.Element* element)
38 {
39 XmlSerializationContext ctx;
40 return FromXml(element, ctx);
41 }
42 public abstract Result<bool> FromXml(System.Xml.Element* element, XmlSerializationContext& ctx);
43 private Uuid objectId;
44 }
45 }