/// <summary> /// Initializes a new instance of the <see cref="BPlusTreeAdapter{T}" /> class. /// </summary> /// <param name="configurationManager">The configuration manager.</param> /// <param name="serializerService">The serializer service.</param> /// <param name="logger">The logger.</param> public BPlusTreeAdapter(IConfigurationManager configurationManager, ISerializerService serializerService) { configurationManager.Guard("configurationManager"); serializerService.Guard("serializerService"); this.serializerService = serializerService; var fileBase = configurationManager.GetValue("BPlusTree.BaseFile", "Storage.bin"); var pathBase = configurationManager.GetValue("BPlusTree.BasePath", "Trees"); tree = new BPlusTree <Guid, T>(GetOptions(fileBase.Value, pathBase.Value)); this.LogWarning("The BPlusTreeAdapter is currently very much experimental, which means not much is supported"); this.LogWarning("Indices are NOT supported, Queries are NOT supported"); this.LogWarning("The only thing that is really supported is GetFirstById(object) where the parameter is a Guid"); }
/// <summary> /// Initializes a new instance of the <see cref="PlaylistViewModel" /> class. /// </summary> /// <param name="publicTransport">The public transport.</param> /// <param name="playlistService">The playlist service.</param> /// <param name="dispatcher">The dispatcher.</param> /// <param name="playerService">The audio player service.</param> /// <param name="builder">The builder.</param> /// <param name="configurationManager">The configuration manager.</param> /// <param name="globalHotkeyService">The global hotkey service.</param> /// <param name="windowManager">The window manager.</param> /// <param name="searchView">The search view.</param> /// <param name="serializerService">The serializer service.</param> /// <param name="logger">The logger.</param> public PlaylistViewModel(IPublicTransport publicTransport, IPlaylistService playlistService, IDispatcher dispatcher, IPlayerService playerService, IInfoBuilder <StorableTaggedFile> builder, IConfigurationManager configurationManager, IGlobalHotkeyService globalHotkeyService, IWindowManager windowManager, ISearchView searchView, ISerializerService serializerService, ILogger logger) : base(logger) { publicTransport.Guard("publicTransport"); playlistService.Guard("playlistService"); dispatcher.Guard("dispatcher"); playerService.Guard("playerService"); builder.Guard("builder"); configurationManager.Guard("configurationManager"); globalHotkeyService.Guard("globalHotkeyService"); windowManager.Guard("windowManager"); searchView.Guard("searchView"); serializerService.Guard("serializerService"); this.playlistService = playlistService; this.dispatcher = dispatcher; this.playerService = playerService; this.builder = builder; this.globalHotkeyService = globalHotkeyService; this.windowManager = windowManager; this.searchView = searchView; publicTransport.ApplicationEventBus.Subscribe <PlaylistUpdatedEvent>(OnPlaylistUpdated); publicTransport.ApplicationEventBus.Subscribe <TrackChangedEvent>(OnTrackChanged); searchHotkey = configurationManager.GetValue("Search", new HotkeyDescriptor(ModifierKeys.Control | ModifierKeys.Alt, Key.J), KnownConfigSections.GlobalHotkeys); searchHotkey.ValueChanged += SearchHotkeyOnValueChanged; globalHotkeyService.RegisterHotkey(searchHotkey.Value, OnSearch); //globalHotkeyService.RegisterHotkey(new HotkeyDescriptor(ModifierKeys.None, Key.A), () => MessageBox.Show("Stuff")); searchView.PlayFile += SearchViewOnPlayFile; Files = new List <FileItem>(playlistService.Files.Select(x => new FileItem(x))); }
/// <summary> /// Initializes a new instance of the <see cref="PlaylistService" /> class. /// </summary> /// <param name="publicTransport">The public transport.</param> /// <param name="referenceAdapters">The reference adapters.</param> /// <param name="threadManager">The thread manager.</param> /// <param name="configurationManager">The configuration manager.</param> /// <param name="serializerService">The serializer service.</param> /// <param name="logger">The logger.</param> public PlaylistService(IPublicTransport publicTransport, IReferenceAdapters referenceAdapters, IThreadManager threadManager, IConfigurationManager configurationManager, ISerializerService serializerService, ILogger logger) : base(logger) { publicTransport.Guard("publicTransport"); referenceAdapters.Guard("referenceAdapters"); threadManager.Guard("threadManager"); serializerService.Guard("serializerService"); logger.Guard("logger"); this.publicTransport = publicTransport; this.referenceAdapters = referenceAdapters; this.threadManager = threadManager; this.logger = logger; this.serializerService = serializerService; playlistRelPath = configurationManager.GetValue("Playlist Relative Path", ".\\Playlist.bin"); LoadPlaylist(playlistRelPath.Value); publicTransport.ApplicationEventBus.Subscribe <ShutdownEvent>(OnShutdown); }