Esempio n. 1
0
 /// <summary>
 /// Write the header of this chunk.
 /// Always call the base method first.
 /// </summary>
 protected sealed override void WriteHeader(ResWriter writer)
 {
     base.WriteHeader(writer);
     writer.WriteInt32(LineNumber);
     StringPoolRef.Write(writer, tree.StringPool, Comment);
     // Extended data (in derived types) is not part of the header
 }
Esempio n. 2
0
 /// <summary>
 /// Reading ctor
 /// </summary>
 protected Node(ResReader reader, XmlTree tree, ChunkTypes expectedType)
     : base(reader, expectedType)
 {
     this.tree  = tree;
     LineNumber = reader.ReadInt32();
     Comment    = StringPoolRef.Read(reader, tree.StringPool);
 }
Esempio n. 3
0
 /// <summary>
 /// Read ctor
 /// </summary>
 internal Attribute(ResReader reader, XmlTree tree)
 {
     this.tree  = tree;
     Namespace  = StringPoolRef.Read(reader, tree.StringPool);
     Name       = StringPoolRef.Read(reader, tree.StringPool);
     RawValue   = StringPoolRef.Read(reader, tree.StringPool);
     TypedValue = new Value(reader);
 }
Esempio n. 4
0
            /// <summary>
            /// Write this attribute.
            /// </summary>
            internal void Write(ResWriter writer)
            {
                StringPoolRef.Write(writer, tree.StringPool, Namespace);
                StringPoolRef.Write(writer, tree.StringPool, Name, resourceId);
                StringPoolRef.Write(writer, tree.StringPool, RawValue);
                var value = TypedValue ?? new Value(Value.Types.TYPE_STRING, tree.StringPool.Get(RawValue, -1));

                value.Write(writer);
            }
Esempio n. 5
0
            /// <summary>
            /// Read ctor
            /// </summary>
            protected EntryInstance(Type parent, ResReader reader)
            {
                this.parent = parent;

                // header
                var size = reader.ReadUInt16();

                flags = (EntryFlags)reader.ReadUInt16();
                key   = StringPoolRef.Read(reader, parent.TypeSpec.Package.KeyStrings);
            }
Esempio n. 6
0
 /// <summary>
 /// Prepare this chunk for writing
 /// </summary>
 internal virtual void PrepareForWrite()
 {
     StringPoolRef.Prepare(parent.TypeSpec.Package.KeyStrings, key);
 }
Esempio n. 7
0
 /// <summary>
 /// Write this entry.
 /// </summary>
 internal virtual void Write(ResWriter writer)
 {
     writer.WriteUInt16(IsComplex ? 16 : 8);
     writer.WriteUInt16((int)flags);
     StringPoolRef.Write(writer, parent.TypeSpec.Package.KeyStrings, key);
 }
Esempio n. 8
0
 /// <summary>
 /// Write the data of this chunk.
 /// </summary>
 protected override void WriteData(ResWriter writer)
 {
     base.WriteData(writer);
     StringPoolRef.Write(writer, Tree.StringPool, Data);
     TypedData.Write(writer);
 }
Esempio n. 9
0
 /// <summary>
 /// Prepare this chunk for writing
 /// </summary>
 protected internal override void PrepareForWrite()
 {
     base.PrepareForWrite();
     StringPoolRef.Prepare(Tree.StringPool, Data);
 }
Esempio n. 10
0
 /// <summary>
 /// Reading ctor
 /// </summary>
 internal CData(ResReader reader, XmlTree tree)
     : base(reader, tree, ChunkTypes.RES_XML_CDATA_TYPE)
 {
     Data      = StringPoolRef.Read(reader, tree.StringPool);
     TypedData = new Value(reader);
 }
Esempio n. 11
0
 /// <summary>
 /// Prepare this chunk for writing
 /// </summary>
 internal void PrepareForWrite()
 {
     StringPoolRef.Prepare(tree.StringPool, Namespace);
     StringPoolRef.Prepare(tree.StringPool, Name, resourceId);
     StringPoolRef.Prepare(tree.StringPool, RawValue);
 }
Esempio n. 12
0
 /// <summary>
 /// Prepare this chunk for writing
 /// </summary>
 protected internal override void PrepareForWrite()
 {
     base.PrepareForWrite();
     StringPoolRef.Prepare(tree.StringPool, Comment);
 }