Exemple #1
0
 public EsfArrayNode(EsfCodec codec, EsfType code) : base(delegate(string s) { throw new InvalidOperationException(); }) {
     Codec       = codec;
     Separator   = " ";
     TypeCode    = code;
     ConvertItem = DefaultFromString;
     Value       = new T[0];
 }
Exemple #2
0
 public EsfFile(Stream stream, EsfCodec codec)
 {
     using (var reader = new BinaryReader(stream)) {
         Codec    = codec;
         RootNode = Codec.Parse(reader);
     }
 }
 public MemoryMappedRecordNode(EsfCodec codec, byte[] bytes, int start) : base(codec, bytes[start - 1])
 {
     Codec              = codec;
     buffer             = bytes;
     mapStart           = start - 1;
     InvalidateSiblings = true;
     // byteCount = count;
 }
Exemple #4
0
 public RawDataNode(EsfCodec codec)
     : base((Converter <byte[]>) delegate
 {
     throw new InvalidOperationException();
 })
 {
     base.Codec = codec;
     TypeCode   = EsfType.UINT8_ARRAY;
 }
Exemple #5
0
        public static EsfCodec GetCodec(Stream stream)
        {
            EsfCodec esfCodec = null;

            byte[] buffer = new byte[4];
            stream.Read(buffer, 0, 4);
            using (BinaryReader binaryReader = new BinaryReader(new MemoryStream(buffer)))
            {
                return(CodecFromCode(binaryReader.ReadUInt32()));
            }
        }
Exemple #6
0
        public static EsfCodec GetCodec(Stream stream)
        {
            EsfCodec codec = null;

            byte[] magicBuffer = new byte[4];
            stream.Read(magicBuffer, 0, 4);
            using (BinaryReader reader = new BinaryReader(new MemoryStream(magicBuffer))) {
                uint magic = reader.ReadUInt32();
                codec = CodecFromCode(magic);
            }
            return(codec);
        }
Exemple #7
0
        static EsfCodec CodecFromCode(uint code)
        {
            EsfCodec codec = null;

            switch (code)
            {
            case 0xABCE:
                codec = new AbceCodec();
                break;

            case 0xABCF:
                codec = new AbcfFileCodec();
                break;

            case 0xABCA:
                codec = new AbcaFileCodec();
                break;
            }
            return(codec);
        }
Exemple #8
0
        private static EsfCodec CodecFromCode(uint code)
        {
            EsfCodec result = null;

            switch (code)
            {
            case 43982u:
                result = new AbceCodec();
                break;

            case 43983u:
                result = new AbcfFileCodec();
                break;

            case 43978u:
                result = new AbcaFileCodec();
                break;
            }

            return(result);
        }
Exemple #9
0
 public RecordEntryNode(EsfCodec codec)
 {
     TypeCode   = EsfType.RECORD_BLOCK_ENTRY;
     base.Codec = codec;
 }
Exemple #10
0
 public EsfFile(EsfNode rootNode, EsfCodec codec)
 {
     Codec    = codec;
     RootNode = rootNode;
 }
Exemple #11
0
 public CompressedNode(EsfCodec codec, RecordNode rootNode)
     : base(codec, 0)
 {
     base.Name      = TAG_NAME;
     compressedNode = rootNode;
 }
Exemple #12
0
 protected DelegatingNode(EsfCodec codec, byte originalCode = 0)
     : base(codec, originalCode)
 {
 }
Exemple #13
0
 public OptimizedArrayNode(EsfCodec codec, EsfType typeCode, NodeFactory <T> factory)
     : base(codec, typeCode)
 {
     CreateNode    = factory;
     optimizedType = typeCode;
 }
Exemple #14
0
 public RecordNode(EsfCodec codec, byte originalCode = 0)
     : base(originalCode)
 {
     base.Codec = codec;
 }
 public RecordArrayNode(EsfCodec codec, byte originalCode = 0) : base(originalCode)
 {
     Codec = codec;
 }
Exemple #16
0
 public RawDataNode(EsfCodec codec) : base(delegate(string s) { throw new InvalidOperationException(); }) {
     Codec    = codec;
     TypeCode = EsfType.UINT8_ARRAY;
 }