// Writes a file item void WriteItem(MemFile mf) { mf.SetDynUTF8String(fileName); mf.Set(fileTimeCreate.Ticks); mf.Set(fileTimeWrite.Ticks); mf.Set(fileLength); mf.Set(isDirectory); if (isDirectory) { mf.SetDynUTF8String(relPath); } if (files == null) { mf.Set((Int32)0); } else { mf.Set(files.Count); foreach (FileInfo fi in files) { fi.WriteItem(mf); } } if (childs == null) { mf.Set((Int32)0); } else { mf.Set(childs.Count); foreach (FileInfo fi in childs) { fi.WriteItem(mf); } } }
// Writes a file item void WriteItem(MemFile mf) { mf.SetDynUTF8String(fileName); mf.Set(fileTimeCreate.Ticks); mf.Set(fileTimeWrite.Ticks); mf.Set(fileLength); mf.Set(isDirectory); if (isDirectory) mf.SetDynUTF8String(relPath); if (files == null) mf.Set((Int32)0); else { mf.Set(files.Count); foreach (FileInfo fi in files) fi.WriteItem(mf); } if (childs == null) mf.Set((Int32)0); else { mf.Set(childs.Count); foreach (FileInfo fi in childs) fi.WriteItem(mf); } }
// Writes the file structure into a file; uses the basePath for file name public void Write(MemFile mf) { mf.Set((UInt32)0xDEADBEEF); // Magic word mf.Set((UInt32)1); // Version; WriteItem(mf); }
// Reads a file item void ReadItem(MemFile mf) { int len, cou; FileInfo fi; fileName = mf.GetDynUTF8String(); fileTimeCreate = new DateTime(mf.GetInt64(), DateTimeKind.Utc); fileTimeWrite = new DateTime(mf.GetInt64(), DateTimeKind.Utc); fileLength = mf.GetInt64(); isDirectory = mf.GetBool(); if (isDirectory) relPath = mf.GetDynUTF8String(); len = mf.GetInt32(); if (len > 0) { files = new List<FileInfo>(len); for (cou = 0; cou < len; cou++) { fi = new FileInfo(); files.Add(fi); fi.parent = this; fi.root = this.root; fi.ReadItem(mf); } } len = mf.GetInt32(); if (len > 0) { childs = new List<FileInfo>(len); for (cou = 0; cou < len; cou++) { fi = new FileInfo(); childs.Add(fi); fi.root = this.root; fi.ReadItem(mf); } } }
// Reads the file structure from file; uses the basePath for file name public void Read(MemFile mf) { if (mf.GetUInt32() != 0xDEADBEEF) { throw new ArgumentException("Magic Word"); } if (mf.GetUInt32() != 1) { throw new ArgumentException("Unknown Version"); } ReadItem(mf); }
private void FillList(string filename) { string webFilename = Normalize(filename); MemFile parent = memfs.Lookup(webFilename); List<DAVFileInfo> davFileInfo = client.List(webFilename); parent.Clear(); foreach(DAVFileInfo info in davFileInfo) { MemFile memFile = new MemFile(true); memFile.Length = info.Length; memFile.DateCreated = info.DateCreated; memFile.LastUpdated = info.LastModified; memFile.LastAccessed = DateTime.Now; memFile.Type = info.Type; parent[info.Name] = memFile; } parent.Listed = true; }
/// <summary> /// Constructor for use on get of event from EPP /// </summary> /// <param name="eventID"></param> /// <param name="mf"></param> public BUComEvent(uint eventNum, MemFile mf) : base(eventNum, mf) { }
/// <summary> /// Constructor for use on get of event from EPP /// </summary> /// <param name="eventID"></param> /// <param name="mf"></param> public BUComEvent(BUComEventID eventID, MemFile mf) : base((uint)eventID, mf) { }