public TaskController(ILogger logger, IMediaFactory mediaFactory, IVideoPlayer videoPlayer, SpiderFactory spiderFactory, IMetadataController metadataController, IMarqueeRepository marqueeRepository, IMetadataRepository mediaItemRepository) { if (logger == null) throw new ArgumentNullException("logger"); if (mediaFactory == null) throw new ArgumentNullException("mediaFactory"); if (videoPlayer == null) throw new ArgumentNullException("videoPlayer"); if (spiderFactory == null) throw new ArgumentNullException("spiderFactory"); if (metadataController == null) throw new ArgumentNullException("metadataController"); if (marqueeRepository == null) throw new ArgumentNullException("marqueeRepository"); if (mediaItemRepository == null) throw new ArgumentNullException("mediaItemRepository"); this.logger = logger; this.mediaFactory = mediaFactory; this.videoPlayer = videoPlayer; this.spiderFactory = spiderFactory; this.metadataController = metadataController; this.marqueeRepository = marqueeRepository; this.mediaItemRepository = mediaItemRepository; this.audioStreamFactory = new AudioStreamFactory(); }
public MainWindow() { InitializeComponent(); try { this.logger = Gnosis.Utilities.Log4NetLogger.GetDefaultLogger(typeof(MainWindow)); } catch (Exception loggerEx) { throw new ApplicationException("Could not initialize logger", loggerEx); } try { logger.Info("Initializing Alexandria"); mediaFactory = new MediaFactory(logger); securityContext = new SecurityContext(mediaFactory); tagTypeFactory = new TagTypeFactory(); mediaRepository = new SQLiteMediaRepository(logger, mediaFactory); mediaRepository.Initialize(); linkRepository = new SQLiteLinkRepository(logger); linkRepository.Initialize(); tagRepository = new SQLiteTagRepository(logger, tagTypeFactory); tagRepository.Initialize(); metadataRepository = new SQLiteMetadataRepository(logger, securityContext, mediaFactory); metadataRepository.Initialize(); marqueeRepository = new SQLiteMarqueeRepository(logger); audioStreamFactory = new AudioStreamFactory(); videoPlayer = new Gnosis.Video.Vlc.VideoPlayerControl(); videoPlayer.Initialize(logger, () => GetVideoHost()); catalogController = new CatalogController(logger, securityContext, mediaFactory, mediaRepository, linkRepository, tagRepository, metadataRepository, audioStreamFactory); spiderFactory = new SpiderFactory(logger, securityContext, mediaFactory, linkRepository, tagRepository, mediaRepository, metadataRepository, audioStreamFactory); metadataController = new MediaItemController(logger, securityContext, mediaFactory, linkRepository, tagRepository, metadataRepository); taskController = new TaskController(logger, mediaFactory, videoPlayer, spiderFactory, metadataController, marqueeRepository, metadataRepository); tagController = new TagController(logger, tagRepository); commandController = new CommandController(logger); taskResultView.Initialize(logger, securityContext, mediaFactory, metadataController, taskController, tagController, videoPlayer); //taskManagerView.Initialize(logger, taskController, taskResultView); searchView.Initialize(logger, taskController, taskResultView); commandView.Initialize(logger, commandController, taskController, taskResultView); ScreenSaver.Disable(); } catch (Exception ex) { logger.Error("MainWindow.ctor", ex); } }
public TaskController(ILogger logger, IMediaFactory mediaFactory, IVideoPlayer videoPlayer, SpiderFactory spiderFactory, IMetadataController metadataController, IMarqueeRepository marqueeRepository, IMetadataRepository mediaItemRepository) { if (logger == null) { throw new ArgumentNullException("logger"); } if (mediaFactory == null) { throw new ArgumentNullException("mediaFactory"); } if (videoPlayer == null) { throw new ArgumentNullException("videoPlayer"); } if (spiderFactory == null) { throw new ArgumentNullException("spiderFactory"); } if (metadataController == null) { throw new ArgumentNullException("metadataController"); } if (marqueeRepository == null) { throw new ArgumentNullException("marqueeRepository"); } if (mediaItemRepository == null) { throw new ArgumentNullException("mediaItemRepository"); } this.logger = logger; this.mediaFactory = mediaFactory; this.videoPlayer = videoPlayer; this.spiderFactory = spiderFactory; this.metadataController = metadataController; this.marqueeRepository = marqueeRepository; this.mediaItemRepository = mediaItemRepository; this.audioStreamFactory = new AudioStreamFactory(); }