banshee r3204 - in trunk/banshee: . src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage src/Dap/Banshee.DapCore src/Dap/Banshee.DapCore/Banshee.DapCore
- From: alanmc svn gnome org
- To: svn-commits-list gnome org
- Subject: banshee r3204 - in trunk/banshee: . src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage src/Dap/Banshee.DapCore src/Dap/Banshee.DapCore/Banshee.DapCore
- Date: Sun, 10 Feb 2008 19:18:25 +0000 (GMT)
Author: alanmc
Date: Sun Feb 10 19:18:25 2008
New Revision: 3204
URL: http://svn.gnome.org/viewvc/banshee?rev=3204&view=rev
Log:
Added the async class for Dap access
Added:
trunk/banshee/src/Dap/Banshee.DapCore/Banshee.DapCore/AsyncDevice.cs
Modified:
trunk/banshee/ChangeLog
trunk/banshee/src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage/Device.cs
trunk/banshee/src/Dap/Banshee.DapCore/Banshee.DapCore.mdp
trunk/banshee/src/Dap/Banshee.DapCore/Makefile.am
Modified: trunk/banshee/src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage/Device.cs
==============================================================================
--- trunk/banshee/src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage/Device.cs (original)
+++ trunk/banshee/src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage/Device.cs Sun Feb 10 19:18:25 2008
@@ -30,7 +30,7 @@
using Banshee.Collection;
namespace Banshee.Dap.MassStorage {
- public class Device : AbstractDevice {
+ public class Device { //: AbstractDevice {
/*
public override void DownloadTrack (TrackInfo track, string destination)
{
Modified: trunk/banshee/src/Dap/Banshee.DapCore/Banshee.DapCore.mdp
==============================================================================
--- trunk/banshee/src/Dap/Banshee.DapCore/Banshee.DapCore.mdp (original)
+++ trunk/banshee/src/Dap/Banshee.DapCore/Banshee.DapCore.mdp Sun Feb 10 19:18:25 2008
@@ -10,11 +10,13 @@
<Contents>
<File name="Banshee.DapCore/DapCore.cs" subtype="Code" buildaction="Compile" />
<File name="Banshee.DapCore/HalCore.cs" subtype="Code" buildaction="Compile" />
- <File name="Banshee.DapCore/IDeviceClass.cs" subtype="Code" buildaction="Compile" />
<File name="hal-sharp/Device.cs" subtype="Code" buildaction="Compile" />
<File name="hal-sharp/Manager.cs" subtype="Code" buildaction="Compile" />
<File name="hal-sharp/Volume.cs" subtype="Code" buildaction="Compile" />
- <File name="Resources/Banshee.DapCore.addin.xml" subtype="Code" buildaction="EmbedAsResource" />
+ <File name="Banshee.DapCore/AbstractDevice.cs" subtype="Code" buildaction="Compile" />
+ <File name="Banshee.DapCore/IDevice.cs" subtype="Code" buildaction="Compile" />
+ <File name="Banshee.DapCore.addin.xml" subtype="Code" buildaction="EmbedAsResource" />
+ <File name="Banshee.DapCore/AsyncDevice.cs" subtype="Code" buildaction="Compile" />
</Contents>
<References>
<ProjectReference type="Project" localcopy="True" refto="Banshee.Core" />
Added: trunk/banshee/src/Dap/Banshee.DapCore/Banshee.DapCore/AsyncDevice.cs
==============================================================================
--- (empty file)
+++ trunk/banshee/src/Dap/Banshee.DapCore/Banshee.DapCore/AsyncDevice.cs Sun Feb 10 19:18:25 2008
@@ -0,0 +1,114 @@
+// AsyncDevice.cs created with MonoDevelop
+// User: alan at 18:20Â10/02/2008
+//
+// To change standard headers go to Edit->Preferences->Coding->Standard Headers
+//
+
+using System;
+using System.Threading;
+
+namespace Banshee.Dap
+{
+ public class AsyncDevice : AbstractDevice
+ {
+ private IDevice device;
+
+ public override bool CanSetName {
+ get { return device.CanSetName; }
+ }
+
+ public override bool CanSetOwner {
+ get { return device.CanSetOwner; }
+ }
+
+ public override string Name {
+ get { return device.Name; }
+ set { device.Name = value; }
+ }
+
+ public override string Owner {
+ get { return device.Owner; }
+ set { device.Owner = value; }
+ }
+
+ public override ulong Capacity {
+ get { return device.Capacity; }
+ }
+
+ public override ulong FreeSpace {
+ get { return device.FreeSpace; }
+ }
+
+ public override bool IsReadOnly {
+ get { return device.IsReadOnly; }
+ }
+
+ public override bool IsPlaybackSupported {
+ get { return device.IsPlaybackSupported; }
+ }
+
+
+ public AsyncDevice(IDevice device)
+ {
+ this.device = device;
+ device.Ejected += delegate { RaiseEjected(); };
+ device.Initialized += delegate { RaiseInitialized(); };
+ device.MetadataUpdated += delegate { RaiseMetadataUpdated(); };
+ device.TrackDownloaded += delegate { RaiseTrackDownloaded(); };
+ device.TrackRemoved += delegate { RaiseTrackRemoved(); };
+ device.TracksLoaded += delegate { RaiseTracksLoaded(); };
+ device.TrackUploaded += delegate { RaiseTrackUploaded(); };
+ }
+
+ public override void Dispose ()
+ {
+ device.Dispose();
+ }
+
+ public override void DownloadTrack (Banshee.Collection.TrackInfo track, string destination)
+ {
+ ThreadPool.QueueUserWorkItem(delegate {
+ device.DownloadTrack(track, destination);
+ });
+ }
+
+ public override void LoadTracks ()
+ {
+ ThreadPool.QueueUserWorkItem(delegate {
+ device.LoadTracks();
+ });
+ }
+
+ public override void RemoveTrack (Banshee.Collection.TrackInfo track)
+ {
+ ThreadPool.QueueUserWorkItem(delegate {
+ device.RemoveTrack(track);
+ });
+ }
+
+ public override void UpdateMetadata (Banshee.Collection.TrackInfo track)
+ {
+ device.UpdateMetadata(track);
+ }
+
+ public override void UploadTrack (Banshee.Collection.TrackInfo track)
+ {
+ ThreadPool.QueueUserWorkItem(delegate {
+ device.UpdateMetadata(track);
+ });
+
+ }
+
+ public override void Eject ()
+ {
+ ThreadPool.QueueUserWorkItem(delegate {
+ device.Eject();
+ });
+ }
+
+ public override bool Initialize (global::Hal.Device halDevice)
+ {
+ return device.Initialize(halDevice);
+ }
+ }
+}
Modified: trunk/banshee/src/Dap/Banshee.DapCore/Makefile.am
==============================================================================
--- trunk/banshee/src/Dap/Banshee.DapCore/Makefile.am (original)
+++ trunk/banshee/src/Dap/Banshee.DapCore/Makefile.am Sun Feb 10 19:18:25 2008
@@ -4,6 +4,7 @@
SOURCES = \
Banshee.DapCore/AbstractDevice.cs \
+ Banshee.DapCore/AsyncDevice.cs \
Banshee.DapCore/DapCore.cs \
Banshee.DapCore/HalCore.cs \
Banshee.DapCore/IDevice.cs \
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]