Ejemplo n.º 1
0
        public static IDirectoryAbstraction Deserialize(FileInfo fi)
        {
            FileStream            fileStream  = fi.OpenRead();
            IDirectoryAbstraction deserialize = Deserialize(fileStream);

            fileStream.Close();
            return(deserialize);
        }
Ejemplo n.º 2
0
        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);
                }
            }
        }
Ejemplo n.º 3
0
        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());
        }
Ejemplo n.º 4
0
    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);
    }
Ejemplo n.º 5
0
 public FileSystemHelper(
     ILoggerAdapter <FileSystemHelper> logger,
     IDirectoryAbstraction directory,
     IFileAbstraction file,
     IJsonHelper jsonHelper,
     IPathAbstraction path)
 {
     _logger     = logger;
     _directory  = directory;
     _file       = file;
     _jsonHelper = jsonHelper;
     _path       = path;
 }
Ejemplo n.º 6
0
        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);
        }
Ejemplo n.º 7
0
        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;
 }