public void AddMetaEntry(FilelistEntryType type, string name, string metahash, long metasize, string metablockhash, IEnumerable <string> metablocklisthashes) { m_foldercount++; m_writer.WriteStartObject(); m_writer.WritePropertyName("type"); m_writer.WriteValue(type.ToString()); m_writer.WritePropertyName("path"); m_writer.WriteValue(name); if (metahash != null) { WriteMetaProperties(metahash, metasize, metablockhash, metablocklisthashes); } m_writer.WriteEndObject(); }
private void AddFileEntry(FilelistEntryType type, string name, string filehash, long size, DateTime lastmodified, string metahash, long metasize, string metablockhash, string blockhash, long blocksize, IEnumerable <string> blocklisthashes, IEnumerable <string> metablocklisthashes) { m_filecount++; m_writer.WriteStartObject(); m_writer.WritePropertyName("type"); m_writer.WriteValue(type.ToString()); m_writer.WritePropertyName("path"); m_writer.WriteValue(name); m_writer.WritePropertyName("hash"); m_writer.WriteValue(filehash); m_writer.WritePropertyName("size"); m_writer.WriteValue(size); m_writer.WritePropertyName("time"); m_writer.WriteValue(Library.Utility.Utility.SerializeDateTime(lastmodified)); if (metahash != null) { WriteMetaProperties(metahash, metasize, metablockhash, metablocklisthashes); } if (blocklisthashes != null) { //Slightly akward, but we avoid writing if there are no entries using (var en = blocklisthashes.GetEnumerator()) { if (en.MoveNext() && !string.IsNullOrEmpty(en.Current)) { m_writer.WritePropertyName("blocklists"); m_writer.WriteStartArray(); m_writer.WriteValue(en.Current); while (en.MoveNext()) { m_writer.WriteValue(en.Current); } m_writer.WriteEndArray(); } } } else if (!string.IsNullOrWhiteSpace(blockhash)) { m_writer.WritePropertyName("blockhash"); m_writer.WriteValue(blockhash); m_writer.WritePropertyName("blocksize"); m_writer.WriteValue(blocksize); } m_writer.WriteEndObject(); }
public void AddMetaEntry(FilelistEntryType type, string name, string metahash, long metasize) { m_foldercount++; m_writer.WriteStartObject(); m_writer.WritePropertyName("type"); m_writer.WriteValue(type.ToString()); m_writer.WritePropertyName("path"); m_writer.WriteValue(name); if (metahash != null) { m_writer.WritePropertyName("metahash"); m_writer.WriteValue(metahash); m_writer.WritePropertyName("metasize"); m_writer.WriteValue(metasize); } m_writer.WriteEndObject(); }
private void AddFileEntry(FilelistEntryType type, string name, string filehash, long size, DateTime lastmodified, string metahash, long metasize, IEnumerable<string> blocklisthashes) { m_filecount++; m_writer.WriteStartObject(); m_writer.WritePropertyName("type"); m_writer.WriteValue(type.ToString()); m_writer.WritePropertyName("path"); m_writer.WriteValue(name); m_writer.WritePropertyName("hash"); m_writer.WriteValue(filehash); m_writer.WritePropertyName("size"); m_writer.WriteValue(size); m_writer.WritePropertyName("time"); m_writer.WriteValue(Library.Utility.Utility.SerializeDateTime(lastmodified)); if (metahash != null) { m_writer.WritePropertyName("metahash"); m_writer.WriteValue(metahash); m_writer.WritePropertyName("metasize"); m_writer.WriteValue(metasize); } if (blocklisthashes != null) { //Slightly akward, but we avoid writing if there are no entries var en = blocklisthashes.GetEnumerator(); if (en.MoveNext() && !string.IsNullOrEmpty(en.Current)) { m_writer.WritePropertyName("blocklists"); m_writer.WriteStartArray(); m_writer.WriteValue(en.Current); while(en.MoveNext()) m_writer.WriteValue(en.Current); m_writer.WriteEndArray(); } } m_writer.WriteEndObject(); }
public void AddMetaEntry(FilelistEntryType type, string name, string metahash, long metasize) { m_foldercount++; m_writer.WriteStartObject(); m_writer.WritePropertyName("type"); m_writer.WriteValue(type.ToString()); m_writer.WritePropertyName("path"); m_writer.WriteValue(name); if (metahash != null) { m_writer.WritePropertyName("metahash"); m_writer.WriteValue(metahash); m_writer.WritePropertyName("metasize"); m_writer.WriteValue(metasize); } m_writer.WriteEndObject(); }