コード例 #1
0
ファイル: VolumeBase.cs プロジェクト: ystanev/duplicati
            public static IParsedVolume Parse(string filename, Library.Interface.IFileEntry file = null)
            {
                var m = FILENAME_REGEXP.Match(filename);

                if (!m.Success || m.Length != filename.Length)
                {
                    return(null);
                }

                RemoteVolumeType t;

                if (!REVERSE_REMOTE_TYPENAME_MAP.TryGetValue(m.Groups["filetype"].Value, out t))
                {
                    return(null);
                }

                return(new ParsedVolume()
                {
                    Prefix = m.Groups["prefix"].Value,
                    FileType = t,
                    Guid = m.Groups["guid"].Success ? m.Groups["guid"].Value : null,
                    Time = m.Groups["time"].Success ? Library.Utility.Utility.DeserializeDateTime(m.Groups["time"].Value).ToUniversalTime() : new DateTime(0, DateTimeKind.Utc),
                    CompressionModule = m.Groups["compression"].Value,
                    EncryptionModule = m.Groups["encryption"].Success ? m.Groups["encryption"].Value : null,
                    File = file
                });
            }
コード例 #2
0
 public RemoteVolume(Library.Interface.IFileEntry file, string hash = null)
 {
     this.Name = file.Name;
     this.Size = file.Size;
     this.Hash = hash;
     this.File = file;
 }
コード例 #3
0
ファイル: VolumeBase.cs プロジェクト: ystanev/duplicati
 public static IParsedVolume ParseFilename(Library.Interface.IFileEntry file)
 {
     return(ParsedVolume.Parse(file.Name, file));
 }