Ejemplo n.º 1
0
        public void AddFilesFromXml(string s, ListWriteMode mode = ListWriteMode.Append)
        {
            XmlDocument xml = new XmlDocument();

            xml.LoadXml(s);
            XmlElement         root      = xml.DocumentElement;
            List <MdpFileInfo> filesInfo = new List <MdpFileInfo>();

            foreach (XmlNode fileNode in root.ChildNodes)
            {
                string      fileRelativePath = fileNode.Attributes[MdpApi.FileList.Xml.FileNameAttributeName].Value;
                string      fileHash         = fileNode.Attributes[MdpApi.FileList.Xml.FileHashAttributeName].Value;
                byte[]      hash             = ConvertHexStringToByteArray(fileHash);
                MdpFileInfo fileInfo;
                if (fileNode.Name == MdpApi.FileList.Xml.DirectoryTagName)
                {
                    fileInfo = new MdpDirectoryInfo(fileRelativePath, hash);
                }
                else
                {
                    fileInfo = new MdpFileInfo(fileRelativePath, hash);
                }
                filesInfo.Add(fileInfo);
            }
            AddFiles(filesInfo, mode);
        }
Ejemplo n.º 2
0
 public void AddFiles(IEnumerable <MdpFileInfo> filesInfo, ListWriteMode mode = ListWriteMode.Append)
 {
     if (mode == ListWriteMode.Overwrite)
     {
         files.Clear();
     }
     files.AddRange(filesInfo);
     UpdateFiles();
 }
Ejemplo n.º 3
0
        public void AddFiles(string s, ListSource source, ListFormatType format, ListWriteMode mode = ListWriteMode.Append)
        {
            switch (source)
            {
            case ListSource.RemoteServer:
                AddFilesFromRemote(s, format, mode);
                break;

            case ListSource.Local:
                AddFilesFromLocal(s, format, mode);
                break;

            case ListSource.Text:
                AddFilesFromText(s, format, mode);
                break;

            default:
                break;
            }
        }
Ejemplo n.º 4
0
        public void AddFilesFromJson(string s, ListWriteMode mode = ListWriteMode.Append)
        {
            MdpFileList        mdpFileList = JsonConvert.DeserializeObject <MdpFileList>(s);
            List <MdpFileInfo> filesInfos  = new List <MdpFileInfo>();

            foreach (MdpFileInfo fileInfo in mdpFileList.Files)
            {
                string      fileRelativePath = fileInfo.Name;
                MdpFileInfo file;
                if (fileRelativePath.EndsWith("/"))
                {
                    file = new MdpDirectoryInfo(fileRelativePath, fileInfo.Hash);
                }
                else
                {
                    file = new MdpFileInfo(fileRelativePath, fileInfo.Hash);
                }
                filesInfos.Add(file);
            }
            AddFiles(filesInfos, mode);
        }
Ejemplo n.º 5
0
 public void AddFiles(MdpDirectoryInfo directoryInfo, ListWriteMode mode = ListWriteMode.Append)
 {
     AddFiles(new MdpFileInfo[] { directoryInfo }, mode);
 }
Ejemplo n.º 6
0
        public void AddFilesFromText(string text, ListFormatType format = ListFormatType.Json, ListWriteMode mode = ListWriteMode.Append)
        {
            switch (format)
            {
            case ListFormatType.Xml:
                AddFilesFromXml(text, mode);
                break;

            case ListFormatType.Json:
                AddFilesFromJson(text, mode);
                break;
            }
        }
Ejemplo n.º 7
0
        public void AddFilesFromLocal(string path, ListFormatType format = ListFormatType.Json, ListWriteMode mode = ListWriteMode.Append)
        {
            string fileContent = File.ReadAllText(path);

            AddFilesFromText(fileContent, format, mode);
        }
Ejemplo n.º 8
0
        public void AddFilesFromRemote(string host, ListFormatType format = ListFormatType.Json, ListWriteMode mode = ListWriteMode.Append)
        {
            MdpRemoteServer mdpRemote = new MdpRemoteServer();
            string          result    = mdpRemote.GetFilesList(host, "");

            AddFilesFromText(result, format, mode);
        }