public static IDirectoryAbstraction Deserialize(FileInfo fi) { FileStream fileStream = fi.OpenRead(); IDirectoryAbstraction deserialize = Deserialize(fileStream); fileStream.Close(); return(deserialize); }
public BluRayDiscMovie(IDirectoryAbstraction source) { RootDirectory = source; if (!source.TestForSubdirectory("BDMV")) { throw new DirectoryNotFoundException("BDMV directory not found!"); } IDirectoryAbstraction bdmvRoot = source.OpenSubdirectory("BDMV"); if (!bdmvRoot.TestForFile("index.bdmv")) { throw new FileNotFoundException("BDMV index not found!", "index.bdmv"); } byte[] indexBdmv = bdmvRoot.ReadFileCompletely("index.bdmv"); Index = new Index(indexBdmv); if (Index.HasMovieObjects()) { byte[] movieObjectBdmv = bdmvRoot.ReadFileCompletely("MovieObject.bdmv"); MovieObject = new MovieObject(movieObjectBdmv); bool playlistDirExists = bdmvRoot.TestForSubdirectory("PLAYLIST"); if (MovieObject.HasPlaylistDependencies() && playlistDirExists) { ReadOnlyCollection <uint> readOnlyCollection = MovieObject.GetPlaylistDependencies(); Playlists = new Playlist[readOnlyCollection.Count]; IDirectoryAbstraction playlistDir = bdmvRoot.OpenSubdirectory("PLAYLIST"); for (int i = 0; i < readOnlyCollection.Count; i++) { string fname = String.Format("{0:00000}.mpls", readOnlyCollection[i]); if (!playlistDir.TestForFile(fname)) { continue; } byte[] mplsBuffer = playlistDir.ReadFileCompletely(fname); Playlists[i] = new Playlist(mplsBuffer, i); } } } if (bdmvRoot.TestForSubdirectory("CLIPINF")) { IDirectoryAbstraction clipInfoDir = bdmvRoot.OpenSubdirectory("CLIPINF"); string[] listFiles = clipInfoDir.ListFiles(); Array.Sort(listFiles); Clips = Array.ConvertAll(listFiles, x => new ClipInfo(clipInfoDir.ReadFileCompletely(x), int.Parse(Path.GetFileNameWithoutExtension(x)))); } if (source.TestForSubdirectory("CERTIFICATE")) { IDirectoryAbstraction certificate = source.OpenSubdirectory("CERTIFICATE"); if (certificate.TestForFile("id.bdmv")) { byte[] idBdmv = certificate.ReadFileCompletely("id.bdmv"); Id = new Id(idBdmv); } } }
public static byte[] Serialize(IDirectoryAbstraction ida) { MemoryStream ms = new MemoryStream(); BinaryWriter bw = new BinaryWriter(ms); bw.Write(MAGIC); bw.Write(OPCODE_V1); SerializeDirectory(ida, bw, 1); bw.Write(OPCODE_END_OF_ARCHIVE); return(ms.ToArray()); }
public ConfigService(IServiceProvider serviceProvider) { _logger = serviceProvider.GetRequiredService <ILoggerAdapter <ConfigService> >(); _path = serviceProvider.GetRequiredService <IPathAbstraction>(); _directory = serviceProvider.GetRequiredService <IDirectoryAbstraction>(); _file = serviceProvider.GetRequiredService <IFileAbstraction>(); _jsonHelper = serviceProvider.GetRequiredService <IJsonHelper>(); _dateTime = serviceProvider.GetRequiredService <IDateTimeAbstraction>(); _environment = serviceProvider.GetRequiredService <IEnvironmentAbstraction>(); CoreConfig = serviceProvider.GetRequiredService <DnsUpdaterConfig>(); _dnsEntriesConfig = LoadConfiguration(CoreConfig); }
public FileSystemHelper( ILoggerAdapter <FileSystemHelper> logger, IDirectoryAbstraction directory, IFileAbstraction file, IJsonHelper jsonHelper, IPathAbstraction path) { _logger = logger; _directory = directory; _file = file; _jsonHelper = jsonHelper; _path = path; }
private static void SerializeDirectory(IDirectoryAbstraction ida, BinaryWriter bw, int depth) { bw.Write(OPCODE_BEGIN_DIRECTORY); SerializeString(ida.Name, bw); if (ida.TestForSubdirectory("BDMV")) { SerializeDirectory(ida.OpenSubdirectory("BDMV"), bw, depth + 1); } if (ida.TestForSubdirectory("CERTIFICATE")) { SerializeDirectory(ida.OpenSubdirectory("CERTIFICATE"), bw, depth + 1); } if (ida.TestForSubdirectory("PLAYLIST")) { SerializeDirectory(ida.OpenSubdirectory("PLAYLIST"), bw, depth + 1); } if (ida.TestForSubdirectory("CLIPINF")) { SerializeDirectory(ida.OpenSubdirectory("CLIPINF"), bw, depth + 1); } foreach (string listFile in ida.ListFiles()) { if (depth == 1 && listFile.Equals("disc.inf")) { continue; } if (!listFile.EndsWith(".bdmv") && !listFile.EndsWith(".mpls") && !listFile.EndsWith(".clpi")) { throw new NotImplementedException(listFile); } bw.Write(OPCODE_FILE); byte[] buffer = ida.ReadFileCompletely(listFile); SerializeString(listFile, bw); bw.Write(buffer.Length); bw.Write(buffer); } bw.Write(OPCODE_END_OF_DIRECTORY); }
public CsvMetricOutput( ILoggerAdapter <CsvMetricOutput> logger, IDirectoryAbstraction directory, IEnvironmentAbstraction environment, IDateTimeAbstraction dateTime, IPathAbstraction path, IFileAbstraction file, IConfiguration configuration) { // TODO: [TESTS] (CsvMetricOutput) Add tests _logger = logger; _directory = directory; _environment = environment; _dateTime = dateTime; _path = path; _file = file; _config = BindConfiguration(configuration); Name = nameof(CsvMetricOutput); Enabled = _config.Enabled; ProcessConfig(); }
public FilesConfigurationValidator(IDirectoryAbstraction directoryAbstraction) { _directoryAbstraction = directoryAbstraction; }