banshee r3569 - in trunk/banshee: . src/Core/Banshee.Services src/Core/Banshee.Services/Banshee.Database src/Core/Banshee.Services/Banshee.Hardware src/Core/Banshee.Services/Banshee.MediaEngine src/Core/Banshee.Services/Banshee.PlaybackController src/Core/Banshee.Services/Banshee.ServiceStack src/Core/Banshee.Services/Banshee.Sources
- From: abock svn gnome org
- To: svn-commits-list gnome org
- Subject: banshee r3569 - in trunk/banshee: . src/Core/Banshee.Services src/Core/Banshee.Services/Banshee.Database src/Core/Banshee.Services/Banshee.Hardware src/Core/Banshee.Services/Banshee.MediaEngine src/Core/Banshee.Services/Banshee.PlaybackController src/Core/Banshee.Services/Banshee.ServiceStack src/Core/Banshee.Services/Banshee.Sources
- Date: Thu, 27 Mar 2008 22:05:19 +0000 (GMT)
Author: abock
Date: Thu Mar 27 22:05:19 2008
New Revision: 3569
URL: http://svn.gnome.org/viewvc/banshee?rev=3569&view=rev
Log:
2008-03-27 Aaron Bockover <abock gnome org>
* src/Core/Banshee.Services/Banshee.Hardware/HardwareManager.cs: Stubbed
the base hardware manager service out; load extension managers from MA
* src/Core/Banshee.Services/Banshee.Hardware/IBlockDevice.cs:
* src/Core/Banshee.Services/Banshee.Hardware/IDevice.cs:
* src/Core/Banshee.Services/Banshee.Hardware/IHardwareManager.cs:
* src/Core/Banshee.Services/Banshee.Hardware/IVolume.cs: Stubbed some
basic hardware related interfaces
* src/Core/Banshee.Services/Banshee.Database/BansheeDbConnection.cs:
* src/Core/Banshee.Services/Banshee.Sources/SourceManager.cs:
* src/Core/Banshee.Services/Banshee.ServiceStack/UserJobManager.cs:
* src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEngineService.cs:
* src/Core/Banshee.Services/Banshee.PlaybackController/PlaybackControllerService.cs:
Implement IRequiredService since we can't survive without these
* src/Core/Banshee.Services/Banshee.ServiceStack/IRequiredService.cs:
Services that are important enough to cause startup to fail if they cannot
be started should implement IRequiredService
* src/Core/Banshee.Services/Banshee.ServiceStack/ServiceManager.cs:
Do not bail if a core service throws an exception that is not an
IRequiredService
Added:
trunk/banshee/src/Core/Banshee.Services/Banshee.Hardware/
trunk/banshee/src/Core/Banshee.Services/Banshee.Hardware/HardwareManager.cs
trunk/banshee/src/Core/Banshee.Services/Banshee.Hardware/IBlockDevice.cs
trunk/banshee/src/Core/Banshee.Services/Banshee.Hardware/IDevice.cs
trunk/banshee/src/Core/Banshee.Services/Banshee.Hardware/IHardwareManager.cs
trunk/banshee/src/Core/Banshee.Services/Banshee.Hardware/IVolume.cs
trunk/banshee/src/Core/Banshee.Services/Banshee.ServiceStack/IRequiredService.cs
Modified:
trunk/banshee/ChangeLog
trunk/banshee/src/Core/Banshee.Services/Banshee.Database/BansheeDbConnection.cs
trunk/banshee/src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEngineService.cs
trunk/banshee/src/Core/Banshee.Services/Banshee.PlaybackController/PlaybackControllerService.cs
trunk/banshee/src/Core/Banshee.Services/Banshee.ServiceStack/ServiceManager.cs
trunk/banshee/src/Core/Banshee.Services/Banshee.ServiceStack/UserJobManager.cs
trunk/banshee/src/Core/Banshee.Services/Banshee.Services.mdp
trunk/banshee/src/Core/Banshee.Services/Banshee.Sources/SourceManager.cs
trunk/banshee/src/Core/Banshee.Services/Makefile.am
Modified: trunk/banshee/src/Core/Banshee.Services/Banshee.Database/BansheeDbConnection.cs
==============================================================================
--- trunk/banshee/src/Core/Banshee.Services/Banshee.Database/BansheeDbConnection.cs (original)
+++ trunk/banshee/src/Core/Banshee.Services/Banshee.Database/BansheeDbConnection.cs Thu Mar 27 22:05:19 2008
@@ -40,7 +40,7 @@
namespace Banshee.Database
{
- public sealed class BansheeDbConnection : HyenaSqliteConnection, IInitializeService
+ public sealed class BansheeDbConnection : HyenaSqliteConnection, IInitializeService, IRequiredService
{
private BansheeDbFormatMigrator migrator;
Added: trunk/banshee/src/Core/Banshee.Services/Banshee.Hardware/HardwareManager.cs
==============================================================================
--- (empty file)
+++ trunk/banshee/src/Core/Banshee.Services/Banshee.Hardware/HardwareManager.cs Thu Mar 27 22:05:19 2008
@@ -0,0 +1,66 @@
+//
+// HardwareManager.cs
+//
+// Author:
+// Aaron Bockover <abockover novell com>
+//
+// Copyright (C) 2008 Novell, Inc.
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using Mono.Addins;
+using Hyena;
+
+using Banshee.ServiceStack;
+
+namespace Banshee.Hardware
+{
+ public sealed class HardwareManager : IService, IHardwareManager
+ {
+ private IHardwareManager manager;
+
+ public HardwareManager ()
+ {
+ foreach (TypeExtensionNode node in AddinManager.GetExtensionNodes ("/Banshee/Platform/HardwareManager")) {
+ try {
+ if (manager != null) {
+ throw new Exception (String.Format (
+ "A HardwareManager has already been loaded ({0}). Only one can be loaded.",
+ manager.GetType ().FullName));
+ }
+
+ manager = (IHardwareManager)node.CreateInstance (typeof (IHardwareManager));
+ } catch (Exception e) {
+ Log.Warning ("Hardware manager extension failed to load", e.Message);
+ }
+ }
+
+ if (manager == null) {
+ throw new Exception ("No HardwareManager extensions could be loaded. Hardware support will be disabled.");
+ }
+ }
+
+ string IService.ServiceName {
+ get { return "HardwareManager"; }
+ }
+ }
+}
Added: trunk/banshee/src/Core/Banshee.Services/Banshee.Hardware/IBlockDevice.cs
==============================================================================
--- (empty file)
+++ trunk/banshee/src/Core/Banshee.Services/Banshee.Hardware/IBlockDevice.cs Thu Mar 27 22:05:19 2008
@@ -0,0 +1,39 @@
+//
+// IBlockDevice.cs
+//
+// Author:
+// Aaron Bockover <abockover novell com>
+//
+// Copyright (C) 2008 Novell, Inc.
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Collections.Generic;
+
+namespace Banshee.Hardware
+{
+ public interface IBlockDevice : IDevice, IEnumerable<IVolume>
+ {
+ int VolumeCount { get; }
+ IEnumerable<IVolume> Volumes { get; }
+ }
+}
Added: trunk/banshee/src/Core/Banshee.Services/Banshee.Hardware/IDevice.cs
==============================================================================
--- (empty file)
+++ trunk/banshee/src/Core/Banshee.Services/Banshee.Hardware/IDevice.cs Thu Mar 27 22:05:19 2008
@@ -0,0 +1,40 @@
+//
+// IDevice.cs
+//
+// Author:
+// Aaron Bockover <abockover novell com>
+//
+// Copyright (C) 2008 Novell, Inc.
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+
+namespace Banshee.Hardware
+{
+ public interface IDevice
+ {
+ string Uuid { get; }
+ string DeviceNode { get; }
+ string Name { get; }
+ IDevice Parent { get; }
+ }
+}
Added: trunk/banshee/src/Core/Banshee.Services/Banshee.Hardware/IHardwareManager.cs
==============================================================================
--- (empty file)
+++ trunk/banshee/src/Core/Banshee.Services/Banshee.Hardware/IHardwareManager.cs Thu Mar 27 22:05:19 2008
@@ -0,0 +1,36 @@
+//
+// HardwareManager.cs
+//
+// Author:
+// Aaron Bockover <abockover novell com>
+//
+// Copyright (C) 2008 Novell, Inc.
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+
+namespace Banshee.Hardware
+{
+ public interface IHardwareManager
+ {
+ }
+}
Added: trunk/banshee/src/Core/Banshee.Services/Banshee.Hardware/IVolume.cs
==============================================================================
--- (empty file)
+++ trunk/banshee/src/Core/Banshee.Services/Banshee.Hardware/IVolume.cs Thu Mar 27 22:05:19 2008
@@ -0,0 +1,41 @@
+//
+// IBlockDevice.cs
+//
+// Author:
+// Aaron Bockover <abockover novell com>
+//
+// Copyright (C) 2008 Novell, Inc.
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+
+namespace Banshee.Hardware
+{
+ public interface IVolume : IDevice
+ {
+ string MountPoint { get; }
+ bool IsMounted { get; }
+ ulong Capacity { get; }
+ ulong Available { get; }
+ new IBlockDevice Parent { get; }
+ }
+}
Modified: trunk/banshee/src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEngineService.cs
==============================================================================
--- trunk/banshee/src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEngineService.cs (original)
+++ trunk/banshee/src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEngineService.cs Thu Mar 27 22:05:19 2008
@@ -45,7 +45,7 @@
namespace Banshee.MediaEngine
{
- public class PlayerEngineService : IService, IPlayerEngineService
+ public class PlayerEngineService : IRequiredService, IPlayerEngineService
{
private List<PlayerEngine> engines = new List<PlayerEngine> ();
private PlayerEngine active_engine;
Modified: trunk/banshee/src/Core/Banshee.Services/Banshee.PlaybackController/PlaybackControllerService.cs
==============================================================================
--- trunk/banshee/src/Core/Banshee.Services/Banshee.PlaybackController/PlaybackControllerService.cs (original)
+++ trunk/banshee/src/Core/Banshee.Services/Banshee.PlaybackController/PlaybackControllerService.cs Thu Mar 27 22:05:19 2008
@@ -39,7 +39,7 @@
namespace Banshee.PlaybackController
{
- public class PlaybackControllerService : IService, ICanonicalPlaybackController, IPlaybackControllerExportable
+ public class PlaybackControllerService : IRequiredService, ICanonicalPlaybackController, IPlaybackControllerExportable
{
private enum Direction
{
Added: trunk/banshee/src/Core/Banshee.Services/Banshee.ServiceStack/IRequiredService.cs
==============================================================================
--- (empty file)
+++ trunk/banshee/src/Core/Banshee.Services/Banshee.ServiceStack/IRequiredService.cs Thu Mar 27 22:05:19 2008
@@ -0,0 +1,36 @@
+//
+// IRequiredService.cs
+//
+// Author:
+// Aaron Bockover <abockover novell com>
+//
+// Copyright (C) 2008 Novell, Inc.
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+
+namespace Banshee.ServiceStack
+{
+ public interface IRequiredService : IService
+ {
+ }
+}
Modified: trunk/banshee/src/Core/Banshee.Services/Banshee.ServiceStack/ServiceManager.cs
==============================================================================
--- trunk/banshee/src/Core/Banshee.Services/Banshee.ServiceStack/ServiceManager.cs (original)
+++ trunk/banshee/src/Core/Banshee.Services/Banshee.ServiceStack/ServiceManager.cs Thu Mar 27 22:05:19 2008
@@ -68,6 +68,7 @@
RegisterService<ImportSourceManager> ();
RegisterService<LibraryImportManager> ();
RegisterService<UserJobManager> ();
+ RegisterService<Banshee.Hardware.HardwareManager> ();
AddinManager.Initialize (ApplicationContext.CommandLine.Contains ("uninstalled")
? "." : Paths.ApplicationData);
@@ -94,21 +95,32 @@
uint cumulative_timer_id = Log.InformationTimerStart ();
foreach (Type type in service_types) {
- uint timer_id = Log.DebugTimerStart ();
- IService service = (IService)Activator.CreateInstance (type);
- RegisterService (service);
+ IService service = null;
- Log.DebugTimerPrint (timer_id, String.Format (
- "Core service started ({0}, {{0}})", service.ServiceName));
-
- OnServiceStarted (service);
-
- if (service is IDisposable) {
- dispose_services.Push (service);
- }
+ try {
+ uint timer_id = Log.DebugTimerStart ();
+ service = (IService)Activator.CreateInstance (type);
+ RegisterService (service);
+
+ Log.DebugTimerPrint (timer_id, String.Format (
+ "Core service started ({0}, {{0}})", service.ServiceName));
+
+ OnServiceStarted (service);
+
+ if (service is IDisposable) {
+ dispose_services.Push (service);
+ }
- if (service is IInitializeService) {
- ((IInitializeService)service).Initialize ();
+ if (service is IInitializeService) {
+ ((IInitializeService)service).Initialize ();
+ }
+ } catch (Exception e) {
+ if (service is IRequiredService) {
+ throw;
+ }
+
+ Log.Warning (String.Format ("Service `{0}' not started: {1}", type.FullName,
+ e.InnerException != null ? e.InnerException.Message : e.Message));
}
}
Modified: trunk/banshee/src/Core/Banshee.Services/Banshee.ServiceStack/UserJobManager.cs
==============================================================================
--- trunk/banshee/src/Core/Banshee.Services/Banshee.ServiceStack/UserJobManager.cs (original)
+++ trunk/banshee/src/Core/Banshee.Services/Banshee.ServiceStack/UserJobManager.cs Thu Mar 27 22:05:19 2008
@@ -31,7 +31,7 @@
namespace Banshee.ServiceStack
{
- public class UserJobManager : IService, IEnumerable<IUserJob>
+ public class UserJobManager : IRequiredService, IEnumerable<IUserJob>
{
private List<IUserJob> user_jobs = new List<IUserJob> ();
Modified: trunk/banshee/src/Core/Banshee.Services/Banshee.Services.mdp
==============================================================================
--- trunk/banshee/src/Core/Banshee.Services/Banshee.Services.mdp (original)
+++ trunk/banshee/src/Core/Banshee.Services/Banshee.Services.mdp Thu Mar 27 22:05:19 2008
@@ -131,6 +131,13 @@
<File name="Banshee.Library/VideoLibrarySource.cs" subtype="Code" buildaction="Compile" />
<File name="Banshee.ServiceStack/Client.cs" subtype="Code" buildaction="Compile" />
<File name="Banshee.Collection.Database/DatabaseArtistInfo.cs" subtype="Code" buildaction="Compile" />
+ <File name="Banshee.Hardware" subtype="Directory" buildaction="Compile" />
+ <File name="Banshee.Hardware/HardwareManager.cs" subtype="Code" buildaction="Compile" />
+ <File name="Banshee.Hardware/IDevice.cs" subtype="Code" buildaction="Compile" />
+ <File name="Banshee.Hardware/IBlockDevice.cs" subtype="Code" buildaction="Compile" />
+ <File name="Banshee.Hardware/IVolume.cs" subtype="Code" buildaction="Compile" />
+ <File name="Banshee.Hardware/IHardwareManager.cs" subtype="Code" buildaction="Compile" />
+ <File name="Banshee.ServiceStack/IRequiredService.cs" subtype="Code" buildaction="Compile" />
</Contents>
<References>
<ProjectReference type="Gac" localcopy="True" refto="System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
Modified: trunk/banshee/src/Core/Banshee.Services/Banshee.Sources/SourceManager.cs
==============================================================================
--- trunk/banshee/src/Core/Banshee.Services/Banshee.Sources/SourceManager.cs (original)
+++ trunk/banshee/src/Core/Banshee.Services/Banshee.Sources/SourceManager.cs Thu Mar 27 22:05:19 2008
@@ -49,7 +49,7 @@
public int Position;
}
- public class SourceManager : ISourceManager, IDisposable
+ public class SourceManager : ISourceManager, IRequiredService, IDisposable
{
private List<Source> sources = new List<Source>();
private Source active_source;
Modified: trunk/banshee/src/Core/Banshee.Services/Makefile.am
==============================================================================
--- trunk/banshee/src/Core/Banshee.Services/Makefile.am (original)
+++ trunk/banshee/src/Core/Banshee.Services/Makefile.am Thu Mar 27 22:05:19 2008
@@ -35,6 +35,11 @@
Banshee.Equalizer/EqualizerManager.cs \
Banshee.Equalizer/EqualizerSetting.cs \
Banshee.Equalizer/EqualizerSettingEvent.cs \
+ Banshee.Hardware/HardwareManager.cs \
+ Banshee.Hardware/IBlockDevice.cs \
+ Banshee.Hardware/IDevice.cs \
+ Banshee.Hardware/IHardwareManager.cs \
+ Banshee.Hardware/IVolume.cs \
Banshee.Library/HomeDirectoryImportSource.cs \
Banshee.Library/IImportSource.cs \
Banshee.Library/ImportSourceManager.cs \
@@ -97,6 +102,7 @@
Banshee.ServiceStack/IDBusExportable.cs \
Banshee.ServiceStack/IExtensionService.cs \
Banshee.ServiceStack/IInitializeService.cs \
+ Banshee.ServiceStack/IRequiredService.cs \
Banshee.ServiceStack/IService.cs \
Banshee.ServiceStack/IUserJob.cs \
Banshee.ServiceStack/ServiceManager.cs \
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]