コード例 #1
0
        private static IEnumerable <Func <IJryVideoDataEngine> > GetLocalAllSourceSetProviders()
        {
            var path = Environment.GetCommandLineArgs().First();

            var dir = Path.GetDirectoryName(path);

            if (dir == null)
            {
                yield break;
            }

            var files = Directory.GetFiles(dir, "JryVideo.Data.*.dll");

            var @interface = typeof(IJryVideoDataEngine);

            foreach (var file in files)
            {
                Assembly assembly = null;

                try
                {
                    assembly = Assembly.LoadFrom(file);
                }
                catch
                {
                    // ignored
                }

                if (assembly == null)
                {
                    continue;
                }

                foreach (var type in assembly.GetExportedTypes()
                         .Where(z => @interface.IsAssignableFrom(z)))
                {
                    IJryVideoDataEngine instance = null;

                    try
                    {
                        instance = type.CreateInstance <IJryVideoDataEngine>();
                    }
                    catch
                    {
                        // ignored
                    }

                    if (instance != null)
                    {
                        yield return(type.CreateInstance <IJryVideoDataEngine>);
                    }
                }
            }
        }
コード例 #2
0
        public DataCenter(IJryVideoDataEngine dataEngine)
        {
            this.ProviderManager = dataEngine;
            this.CoverManager    = new CoverManager(dataEngine.GetCoverSet());
            this.SeriesManager   = new SeriesManager(this, dataEngine.GetSeriesSet());
            this.VideoManager    = new VideoManager(dataEngine.GetVideoSet());
            this.FlagManager     = new FlagManager(dataEngine.GetFlagSet());
            this.ArtistManager   = new ArtistManager(dataEngine.GetArtistSet());

            this.SeriesManager.VideoInfoCreated += this.VideoManager.SeriesManager_VideoInfoCreated;
            this.SeriesManager.VideoInfoRemoved += this.VideoManager.SeriesManager_VideoInfoRemoved;

            this.SeriesManager.VideoInfoCreated += this.FlagManager.SeriesManager_VideoInfoCreated;
            this.SeriesManager.VideoInfoUpdated += this.FlagManager.SeriesManager_VideoInfoUpdated;
            this.SeriesManager.VideoInfoRemoved += this.FlagManager.SeriesManager_VideoInfoRemoved;
            this.VideoManager.EntitiesCreated   += this.FlagManager.VideoManager_EntitiesCreated;
            this.VideoManager.EntitiesUpdated   += this.FlagManager.VideoManager_EntitiesUpdated;
            this.VideoManager.EntitiesRemoved   += this.FlagManager.VideoManager_EntitiesRemoved;

            this.FlagManager.FlagChanged += this.VideoManager.FlagManager_FlagChanged;
        }
コード例 #3
0
ファイル: DataCenter.cs プロジェクト: Cologler/JRYVideo
        public DataCenter(IJryVideoDataEngine dataEngine)
            : this(true)
        {
            this.ProviderManager = dataEngine;
            this.CoverManager = new CoverManager(dataEngine.GetCoverSet());
            this.SeriesManager = new SeriesManager(this, dataEngine.GetSeriesSet());
            this.VideoManager = new VideoManager(dataEngine.GetVideoSet());
            this.FlagManager = new FlagManager(dataEngine.GetFlagSet());
            this.ArtistManager = new ArtistManager(dataEngine.GetArtistSet());
            this.VideoRoleManager = new VideoRoleManager(this.SeriesManager, this.ArtistManager, dataEngine.GetVideoRoleInfoSet());
            this.UserWatchInfoManager = new UserWatchInfoManager(dataEngine.GetUserWatchInfoSet());

            // initialize
            this.SeriesManager.Initialize(this);
            this.VideoManager.Initialize(this);
            this.FlagManager.Initialize(this);
            this.VideoRoleManager.Initialize(this);
            this.CoverManager.Initialize(this);

            this.Journal.Initialize(this);
        }
コード例 #4
0
ファイル: DataCenter.cs プロジェクト: gitter-badger/JRYVideo
        public DataCenter(IJryVideoDataEngine dataEngine)
        {
            this.ProviderManager = dataEngine;
            this.CoverManager = new CoverManager(dataEngine.GetCoverSet());
            this.SeriesManager = new SeriesManager(this, dataEngine.GetSeriesSet());
            this.VideoManager = new VideoManager(dataEngine.GetVideoSet());
            this.FlagManager = new FlagManager(dataEngine.GetFlagSet());
            this.ArtistManager = new ArtistManager(dataEngine.GetArtistSet());

            this.SeriesManager.VideoInfoCreated += this.VideoManager.SeriesManager_VideoInfoCreated;
            this.SeriesManager.VideoInfoRemoved += this.VideoManager.SeriesManager_VideoInfoRemoved;

            this.SeriesManager.VideoInfoCreated += this.FlagManager.SeriesManager_VideoInfoCreated;
            this.SeriesManager.VideoInfoUpdated += this.FlagManager.SeriesManager_VideoInfoUpdated;
            this.SeriesManager.VideoInfoRemoved += this.FlagManager.SeriesManager_VideoInfoRemoved;
            this.VideoManager.EntitiesCreated += this.FlagManager.VideoManager_EntitiesCreated;
            this.VideoManager.EntitiesUpdated += this.FlagManager.VideoManager_EntitiesUpdated;
            this.VideoManager.EntitiesRemoved += this.FlagManager.VideoManager_EntitiesRemoved;

            this.FlagManager.FlagChanged += this.VideoManager.FlagManager_FlagChanged;
        }
コード例 #5
0
ファイル: DataCenter.cs プロジェクト: ichobits/JRYVideo
        public DataCenter(IJryVideoDataEngine dataEngine)
            : this(true)
        {
            this.ProviderManager      = dataEngine;
            this.CoverManager         = new CoverManager(dataEngine.GetCoverSet());
            this.SeriesManager        = new SeriesManager(this, dataEngine.GetSeriesSet());
            this.VideoManager         = new VideoManager(dataEngine.GetVideoSet());
            this.FlagManager          = new FlagManager(dataEngine.GetFlagSet());
            this.ArtistManager        = new ArtistManager(dataEngine.GetArtistSet());
            this.VideoRoleManager     = new VideoRoleManager(this.SeriesManager, this.ArtistManager, dataEngine.GetVideoRoleInfoSet());
            this.UserWatchInfoManager = new UserWatchInfoManager(dataEngine.GetUserWatchInfoSet());

            // initialize
            this.SeriesManager.Initialize(this);
            this.VideoManager.Initialize(this);
            this.FlagManager.Initialize(this);
            this.VideoRoleManager.Initialize(this);
            this.CoverManager.Initialize(this);

            this.Journal.Initialize(this);
        }