[rygel] server: Move date and creator to MediaObject
- From: Jens Georg <jensgeorg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [rygel] server: Move date and creator to MediaObject
- Date: Sun, 22 Jun 2014 09:54:39 +0000 (UTC)
commit c86ce4031c583bfb6180d89a870e15e283781380
Author: Jens Georg <mail jensge org>
Date: Sat Jun 21 22:45:19 2014 +0200
server: Move date and creator to MediaObject
Split out of the patch from 720218
Signed-off-by: Jens Georg <mail jensge org>
src/librygel-server/rygel-media-item.vala | 63 ---------------------------
src/librygel-server/rygel-media-object.vala | 49 +++++++++++++++++++++
2 files changed, 49 insertions(+), 63 deletions(-)
---
diff --git a/src/librygel-server/rygel-media-item.vala b/src/librygel-server/rygel-media-item.vala
index f175c79..54cf6eb 100644
--- a/src/librygel-server/rygel-media-item.vala
+++ b/src/librygel-server/rygel-media-item.vala
@@ -35,10 +35,6 @@ private errordomain Rygel.MediaItemError {
* These objects correspond to items in the UPnP ContentDirectory's DIDL-Lite XML.
*/
public abstract class Rygel.MediaItem : MediaObject {
- public string date { get; set; }
-
- public string creator { get; set; }
-
// Resource info
public string mime_type { get; set; }
public string dlna_profile { get; set; }
@@ -186,24 +182,6 @@ public abstract class Rygel.MediaItem : MediaObject {
return res;
}
- internal override int compare_by_property (MediaObject media_object,
- string property) {
- if (!(media_object is MediaItem)) {
- return 1;
- }
-
- var item = media_object as MediaItem;
-
- switch (property) {
- case "dc:creator":
- return this.compare_string_props (this.creator, item.creator);
- case "dc:date":
- return this.compare_by_date (item);
- default:
- return base.compare_by_property (item, property);
- }
- }
-
internal override void apply_didl_lite (DIDLLiteObject didl_object) {
base.apply_didl_lite (didl_object);
@@ -351,45 +329,4 @@ public abstract class Rygel.MediaItem : MediaObject {
}
}
- private int compare_by_date (MediaItem item) {
- if (this.date == null) {
- return -1;
- } else if (item.date == null) {
- return 1;
- } else {
- var our_date = this.date;
- var other_date = item.date;
-
- if (!our_date.contains ("T")) {
- our_date += "T00:00:00Z";
- }
-
- if (!other_date.contains ("T")) {
- other_date += "T00:00:00Z";
- }
-
- var tv1 = TimeVal ();
- assert (tv1.from_iso8601 (this.date));
-
- var tv2 = TimeVal ();
- assert (tv2.from_iso8601 (item.date));
-
- var ret = this.compare_long (tv1.tv_sec, tv2.tv_sec);
- if (ret == 0) {
- ret = this.compare_long (tv1.tv_usec, tv2.tv_usec);
- }
-
- return ret;
- }
- }
-
- private int compare_long (long a, long b) {
- if (a < b) {
- return -1;
- } else if (a > b) {
- return 1;
- } else {
- return 0;
- }
- }
}
diff --git a/src/librygel-server/rygel-media-object.vala b/src/librygel-server/rygel-media-object.vala
index 039e547..43df421 100644
--- a/src/librygel-server/rygel-media-object.vala
+++ b/src/librygel-server/rygel-media-object.vala
@@ -42,6 +42,8 @@ public abstract class Rygel.MediaObject : GLib.Object {
public string id { get; set construct; }
public string ref_id { get; set; }
public string upnp_class { get; construct set; }
+ public string date { get; set; }
+ public string creator { get; set; }
public uint64 modified { get; set; }
public uint object_update_id { get; set; }
@@ -270,6 +272,11 @@ public abstract class Rygel.MediaObject : GLib.Object {
case "upnp:class":
return this.compare_string_props (this.upnp_class,
media_object.upnp_class);
+ case "dc:creator":
+ return this.compare_string_props (this.creator,
+ media_object.creator);
+ case "dc:date":
+ return this.compare_by_date (media_object);
default:
return 0;
}
@@ -325,4 +332,46 @@ public abstract class Rygel.MediaObject : GLib.Object {
return true;
}
}
+
+ private int compare_by_date (MediaObject object) {
+ if (this.date == null) {
+ return -1;
+ } else if (object.date == null) {
+ return 1;
+ } else {
+ var our_date = this.date;
+ var other_date = object.date;
+
+ if (!our_date.contains ("T")) {
+ our_date += "T00:00:00Z";
+ }
+
+ if (!other_date.contains ("T")) {
+ other_date += "T00:00:00Z";
+ }
+
+ var tv1 = TimeVal ();
+ assert (tv1.from_iso8601 (this.date));
+
+ var tv2 = TimeVal ();
+ assert (tv2.from_iso8601 (object.date));
+
+ var ret = this.compare_long (tv1.tv_sec, tv2.tv_sec);
+ if (ret == 0) {
+ ret = this.compare_long (tv1.tv_usec, tv2.tv_usec);
+ }
+
+ return ret;
+ }
+ }
+
+ private int compare_long (long a, long b) {
+ if (a < b) {
+ return -1;
+ } else if (a > b) {
+ return 1;
+ } else {
+ return 0;
+ }
+ }
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]