[rygel] media-export: Move id generation to MediaCache
- From: Zeeshan Ali Khattak <zeeshanak src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [rygel] media-export: Move id generation to MediaCache
- Date: Sat, 14 Aug 2010 23:31:45 +0000 (UTC)
commit 4a88cd8ab6896d947d219982e1a262caab871e6a
Author: Jens Georg <mail jensge org>
Date: Fri Jul 30 11:11:47 2010 +0200
media-export: Move id generation to MediaCache
Also use it consistently everywhere
.../rygel-media-export-db-container.vala | 2 +-
.../rygel-media-export-dummy-container.vala | 2 +-
.../rygel-media-export-harvesting-task.vala | 6 +++---
.../media-export/rygel-media-export-item.vala | 9 ++-------
.../rygel-media-export-media-cache.vala | 5 +++++
.../rygel-media-export-root-container.vala | 15 ++++-----------
6 files changed, 16 insertions(+), 23 deletions(-)
---
diff --git a/src/plugins/media-export/rygel-media-export-db-container.vala b/src/plugins/media-export/rygel-media-export-db-container.vala
index 6161a2d..5e3678d 100644
--- a/src/plugins/media-export/rygel-media-export-db-container.vala
+++ b/src/plugins/media-export/rygel-media-export-db-container.vala
@@ -92,7 +92,7 @@ public class Rygel.MediaExport.DBContainer : MediaContainer {
yield base.add_item (item, cancellable);
item.parent = this;
- item.id = Item.get_id (File.new_for_uri (item.uris[0]));
+ item.id = MediaCache.get_id (File.new_for_uri (item.uris[0]));
this.media_db.save_item (item);
}
diff --git a/src/plugins/media-export/rygel-media-export-dummy-container.vala b/src/plugins/media-export/rygel-media-export-dummy-container.vala
index 249567d..7f07155 100644
--- a/src/plugins/media-export/rygel-media-export-dummy-container.vala
+++ b/src/plugins/media-export/rygel-media-export-dummy-container.vala
@@ -25,7 +25,7 @@ internal class Rygel.MediaExport.DummyContainer : NullContainer {
public DummyContainer (File file,
MediaContainer parent) {
- this.id = Item.get_id (file);
+ this.id = MediaCache.get_id (file);
this.title = file.get_basename ();
this.parent_ref = parent;
this.file = file;
diff --git a/src/plugins/media-export/rygel-media-export-harvesting-task.vala b/src/plugins/media-export/rygel-media-export-harvesting-task.vala
index c3567ee..7bbec41 100644
--- a/src/plugins/media-export/rygel-media-export-harvesting-task.vala
+++ b/src/plugins/media-export/rygel-media-export-harvesting-task.vala
@@ -124,7 +124,7 @@ public class Rygel.MediaExport.HarvestingTask : Rygel.StateMachine, GLib.Object
*/
private bool push_if_changed_or_unknown (File file,
FileInfo info) {
- var id = Item.get_id (file);
+ var id = MediaCache.get_id (file);
int64 timestamp;
try {
if (this.cache.exists (id, out timestamp)) {
@@ -204,7 +204,7 @@ public class Rygel.MediaExport.HarvestingTask : Rygel.StateMachine, GLib.Object
foreach (var info in list) {
var dir = parent_container.file;
var file = dir.get_child (info.get_name ());
- parent_container.seen (Item.get_id (file));
+ parent_container.seen (MediaCache.get_id (file));
this.process_file (file, info, parent_container);
}
@@ -265,7 +265,7 @@ public class Rygel.MediaExport.HarvestingTask : Rygel.StateMachine, GLib.Object
// nothing to do
if (this.flag != null) {
try {
- this.cache.flag_object (Item.get_id (this.origin),
+ this.cache.flag_object (MediaCache.get_id (this.origin),
this.flag);
} catch (Error error) {};
}
diff --git a/src/plugins/media-export/rygel-media-export-item.vala b/src/plugins/media-export/rygel-media-export-item.vala
index c982bef..c3d6ea1 100644
--- a/src/plugins/media-export/rygel-media-export-item.vala
+++ b/src/plugins/media-export/rygel-media-export-item.vala
@@ -28,11 +28,6 @@ using Gst;
* Represents MediaExport item.
*/
public class Rygel.MediaExport.Item : Rygel.MediaItem {
- public static string get_id (File file) {
- return Checksum.compute_for_string (ChecksumType.MD5,
- file.get_uri ());
- }
-
public Item.simple (MediaContainer parent,
File file,
string mime,
@@ -49,7 +44,7 @@ public class Rygel.MediaExport.Item : Rygel.MediaItem {
upnp_class = MediaItem.AUDIO_CLASS;
}
- base (get_id (file), parent, title, upnp_class);
+ base (MediaCache.get_id (file), parent, title, upnp_class);
this.mime_type = mime;
this.size = (int64) size;
this.modified = mtime;
@@ -62,7 +57,7 @@ public class Rygel.MediaExport.Item : Rygel.MediaItem {
string mime,
uint64 size,
uint64 mtime) {
- string id = get_id (file);
+ string id = MediaCache.get_id (file);
unowned StreamAudioInformation audio_info = null;
unowned StreamVideoInformation video_info = null;
diff --git a/src/plugins/media-export/rygel-media-export-media-cache.vala b/src/plugins/media-export/rygel-media-export-media-cache.vala
index 934ae7e..8aedae7 100644
--- a/src/plugins/media-export/rygel-media-export-media-cache.vala
+++ b/src/plugins/media-export/rygel-media-export-media-cache.vala
@@ -49,6 +49,11 @@ public class Rygel.MediaExport.MediaCache : Object {
private static MediaCache instance;
+ public static string get_id (File file) {
+ return Checksum.compute_for_string (ChecksumType.MD5,
+ file.get_uri ());
+ }
+
public void remove_by_id (string id) throws DatabaseError {
GLib.Value[] values = { id };
this.db.exec (this.sql.make (SQLString.DELETE), values);
diff --git a/src/plugins/media-export/rygel-media-export-root-container.vala b/src/plugins/media-export/rygel-media-export-root-container.vala
index c0e074f..dd355bf 100644
--- a/src/plugins/media-export/rygel-media-export-root-container.vala
+++ b/src/plugins/media-export/rygel-media-export-root-container.vala
@@ -70,8 +70,7 @@ public class Rygel.MediaExport.RootContainer : Rygel.MediaExport.DBContainer {
public void remove_uri (string uri) {
var file = File.new_for_commandline_arg (uri);
- var id = Checksum.compute_for_string (ChecksumType.MD5,
- file.get_uri ());
+ var id = MediaCache.get_id (file);
this.harvester.cancel (file);
try {
@@ -288,9 +287,7 @@ public class Rygel.MediaExport.RootContainer : Rygel.MediaExport.DBContainer {
foreach (var uri in uris) {
var file = File.new_for_commandline_arg (uri);
if (file.query_exists (null)) {
- var id = Checksum.compute_for_string (ChecksumType.MD5,
- file.get_uri ());
- ids.remove (id);
+ ids.remove (MediaCache.get_id (file));
this.harvester.schedule (file, this);
}
}
@@ -347,10 +344,8 @@ public class Rygel.MediaExport.RootContainer : Rygel.MediaExport.DBContainer {
debug (_("Trying to harvest %s because of %d"),
file.get_uri (),
event);
- var parent = file.get_parent ();
- var id = Checksum.compute_for_string (ChecksumType.MD5,
- parent.get_uri ());
try {
+ var id = MediaCache.get_id (file.get_parent ());
var parent_container = this.media_db.get_object (id)
as MediaContainer;
assert (parent_container != null);
@@ -363,14 +358,12 @@ public class Rygel.MediaExport.RootContainer : Rygel.MediaExport.DBContainer {
}
break;
case FileMonitorEvent.DELETED:
- var id = Checksum.compute_for_string (ChecksumType.MD5,
- file.get_uri ());
-
this.harvester.cancel (file);
try {
// the full object is fetched instead of simply calling
// exists because we need the parent to signalize the
// change
+ var id = MediaCache.get_id (file);
var obj = this.media_db.get_object (id);
// it may be that files removed are files that are not
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]