public EsfFile(Stream stream, EsfCodec codec) { using (var reader = new BinaryReader(stream)) { Codec = codec; RootNode = Codec.Parse(reader); } }
public EsfArrayNode(EsfCodec codec, EsfType code) : base(delegate(string s) { throw new InvalidOperationException(); }) { Codec = codec; Separator = " "; TypeCode = code; ConvertItem = DefaultFromString; Value = new T[0]; }
public MemoryMappedRecordNode(EsfCodec codec, byte[] bytes, int start) : base(codec, bytes[start - 1]) { Codec = codec; buffer = bytes; mapStart = start - 1; InvalidateSiblings = true; // byteCount = count; }
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); }
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); }
public CompressedNode(EsfCodec codec, RecordNode rootNode) : base(codec) { Name = TAG_NAME; compressedNode = rootNode; }
public RawDataNode(EsfCodec codec) : base(delegate(string s) { throw new InvalidOperationException(); }) { Codec = codec; TypeCode = EsfType.UINT8_ARRAY; }
protected DelegatingNode(EsfCodec codec, byte originalCode = 0) : base(codec, originalCode) { }
public RecordEntryNode(EsfCodec codec) { TypeCode = EsfType.RECORD_BLOCK_ENTRY; Codec = codec; }
public RecordArrayNode(EsfCodec codec, byte originalCode = 0) : base(originalCode) { Codec = codec; }
public EsfFile(EsfNode rootNode, EsfCodec codec) { Codec = codec; RootNode = rootNode; }
public OptimizedArrayNode(EsfCodec codec, EsfType typeCode, NodeFactory <T> factory) : base(codec, typeCode) { CreateNode = factory; optimizedType = typeCode; }