private static CommonCatalogFileInfo ParseDirEntryData(byte[] dirEntryData) { CatalogRecordType type = (CatalogRecordType)Utilities.ToInt16BigEndian(dirEntryData, 0); CommonCatalogFileInfo result = null; switch (type) { case CatalogRecordType.FolderRecord: result = new CatalogDirInfo(); break; case CatalogRecordType.FileRecord: result = new CatalogFileInfo(); break; default: throw new NotImplementedException("Unknown catalog record type: " + type); } result.ReadFrom(dirEntryData, 0); return(result); }
public Directory(Context context, CatalogNodeId nodeId, CommonCatalogFileInfo fileInfo) : base(context, nodeId, fileInfo) { }
public DirEntry(string name, byte[] dirEntryData) { _name = name; _info = ParseDirEntryData(dirEntryData); }
public File(Context context, CatalogNodeId nodeId, CommonCatalogFileInfo catalogInfo) { _context = context; _nodeId = nodeId; _catalogInfo = catalogInfo; }