[rygel/wip/tracker-3.0: 13/17] WIP



commit d7318eea07c88fa24a247dc8a77ca40199ebb238
Author: Jens Georg <mail jensge org>
Date:   Sun May 24 17:37:46 2020 +0200

    WIP

 .../tracker3/rygel-tracker-category-all-container.vala    | 10 ++++++----
 .../tracker3/rygel-tracker-category-container.vala        |  4 ++--
 src/plugins/tracker3/rygel-tracker-music.vala             |  4 ++--
 src/plugins/tracker3/rygel-tracker-plugin-factory.vala    |  4 +++-
 src/plugins/tracker3/rygel-tracker-plugin.vala            |  2 +-
 src/plugins/tracker3/rygel-tracker-root-container.vala    |  2 +-
 src/plugins/tracker3/rygel-tracker-selection-query.vala   | 15 ++++++++-------
 src/plugins/tracker3/rygel-tracker-upnp-property-map.vala |  2 +-
 8 files changed, 24 insertions(+), 19 deletions(-)
---
diff --git a/src/plugins/tracker3/rygel-tracker-category-all-container.vala 
b/src/plugins/tracker3/rygel-tracker-category-all-container.vala
index 64ab3aa7..4d295445 100644
--- a/src/plugins/tracker3/rygel-tracker-category-all-container.vala
+++ b/src/plugins/tracker3/rygel-tracker-category-all-container.vala
@@ -33,8 +33,9 @@ public class Rygel.Tracker.CategoryAllContainer : SearchContainer,
                                                   WritableContainer,
                                                   SearchableContainer {
     /* class-wide constants */
-    private const string TRACKER_SERVICE = "org.freedesktop.Tracker1";
-    private const string RESOURCES_PATH = "/org/freedesktop/Tracker1/Resources";
+    private const string TRACKER_SERVICE = "org.freedesktop.Tracker3.Miner.Files";
+    private const string RESOURCES_PATH = "/org/freedesktop/Tracker3/Endpoint";
+    private const string TRACKER_INTERFACE = "org.freedesktop.Tracker3.Endpoint";
 
     public ArrayList<string> create_classes { get; set; }
     public ArrayList<string> search_classes { get; set; }
@@ -49,7 +50,7 @@ public class Rygel.Tracker.CategoryAllContainer : SearchContainer,
         this.search_classes = new ArrayList<string> ();
 
         try {
-            this.resources = Sparql.Connection.bus_new ("org.freedesktop.Tracker3.Miner.Files", null);
+            this.resources = Sparql.Connection.bus_new (TRACKER_SERVICE, null);
         } catch (Error io_error) {
             critical (_("Failed to create a Tracker connection: %s"),
                       io_error.message);
@@ -69,7 +70,7 @@ public class Rygel.Tracker.CategoryAllContainer : SearchContainer,
         try {
             var connection = Bus.get_sync (BusType.SESSION);
             connection.signal_subscribe (TRACKER_SERVICE,
-                                         TRACKER_SERVICE + ".Resources",
+                                         TRACKER_INTERFACE,
                                          "GraphUpdated",
                                          RESOURCES_PATH,
                                          this.item_factory.category_iri,
@@ -80,6 +81,7 @@ public class Rygel.Tracker.CategoryAllContainer : SearchContainer,
                       error.message);
         }
 
+        message("RUnnin cleanup query for %s", this.item_factory.category);
         var cleanup_query = new CleanupQuery (this.item_factory.category);
         cleanup_query.execute.begin (this.resources);
     }
diff --git a/src/plugins/tracker3/rygel-tracker-category-container.vala 
b/src/plugins/tracker3/rygel-tracker-category-container.vala
index 351df188..f027397f 100644
--- a/src/plugins/tracker3/rygel-tracker-category-container.vala
+++ b/src/plugins/tracker3/rygel-tracker-category-container.vala
@@ -42,9 +42,9 @@ public abstract class Rygel.Tracker.CategoryContainer : Rygel.SimpleContainer {
         this.all_container = new CategoryAllContainer (this);
 
         this.add_child_container (this.all_container);
-        this.add_child_container (new Tags (this, item_factory));
+       /* this.add_child_container (new Tags (this, item_factory));
         this.add_child_container (new Titles (this, this.item_factory));
-        this.add_child_container (new New (this, this.item_factory));
+        this.add_child_container (new New (this, this.item_factory)); */
         ulong signal_id = 0;
 
         signal_id = this.all_container.container_updated.connect( () => {
diff --git a/src/plugins/tracker3/rygel-tracker-music.vala b/src/plugins/tracker3/rygel-tracker-music.vala
index dc81cf00..9dc61fd4 100644
--- a/src/plugins/tracker3/rygel-tracker-music.vala
+++ b/src/plugins/tracker3/rygel-tracker-music.vala
@@ -30,9 +30,9 @@ public class Rygel.Tracker.Music : CategoryContainer {
     public Music (string id, MediaContainer parent, string title) {
         base (id, parent, title, new MusicItemFactory ());
 
-        this.add_child_container (new Artists (this));
+        /*this.add_child_container (new Artists (this));
         this.add_child_container (new Albums (this));
-        this.add_child_container (new Genre (this));
+        this.add_child_container (new Genre (this));*/
         this.search_classes.add (AudioItem.UPNP_CLASS);
         this.search_classes.add (MusicItem.UPNP_CLASS);
         this.add_create_class (AudioItem.UPNP_CLASS);
diff --git a/src/plugins/tracker3/rygel-tracker-plugin-factory.vala 
b/src/plugins/tracker3/rygel-tracker-plugin-factory.vala
index e7c74c92..da85cc45 100644
--- a/src/plugins/tracker3/rygel-tracker-plugin-factory.vala
+++ b/src/plugins/tracker3/rygel-tracker-plugin-factory.vala
@@ -46,13 +46,15 @@ public class Rygel.Tracker.PluginFactory {
     PluginLoader loader;
 
     public PluginFactory (PluginLoader loader) throws IOError, DBusError {
+        #if 0
         this.stats = Bus.get_proxy_sync (BusType.SESSION,
                                          TRACKER_SERVICE,
                                          STATISTICS_OBJECT,
                                          DBusProxyFlags.DO_NOT_LOAD_PROPERTIES);
+        #endif
         this.loader = loader;
 
-        this.stats.get ();
+        //this.stats.get ();
 
         this.loader.add_plugin (new Tracker.Plugin ());
     }
diff --git a/src/plugins/tracker3/rygel-tracker-plugin.vala b/src/plugins/tracker3/rygel-tracker-plugin.vala
index d01cb528..5ad627a3 100644
--- a/src/plugins/tracker3/rygel-tracker-plugin.vala
+++ b/src/plugins/tracker3/rygel-tracker-plugin.vala
@@ -23,7 +23,7 @@
 using Gee;
 
 public class Rygel.Tracker.Plugin : Rygel.MediaServerPlugin {
-    public const string NAME = "Tracker";
+    public const string NAME = "Tracker3";
 
     private static RootContainer root;
 
diff --git a/src/plugins/tracker3/rygel-tracker-root-container.vala 
b/src/plugins/tracker3/rygel-tracker-root-container.vala
index 88a7d3af..98ed3cf3 100644
--- a/src/plugins/tracker3/rygel-tracker-root-container.vala
+++ b/src/plugins/tracker3/rygel-tracker-root-container.vala
@@ -52,7 +52,7 @@ public class Rygel.Tracker.RootContainer : Rygel.SimpleContainer {
         var config = MetaConfig.get_default ();
 
         try {
-            value = config.get_bool ("Tracker", key);
+            value = config.get_bool ("Tracker3", key);
         } catch (GLib.Error error) {}
 
         return value;
diff --git a/src/plugins/tracker3/rygel-tracker-selection-query.vala 
b/src/plugins/tracker3/rygel-tracker-selection-query.vala
index 9a0f8282..35a52d2b 100644
--- a/src/plugins/tracker3/rygel-tracker-selection-query.vala
+++ b/src/plugins/tracker3/rygel-tracker-selection-query.vala
@@ -29,17 +29,18 @@ using Tracker;
  */
 public class Rygel.Tracker.SelectionQuery : Query {
     public const string ITEM_VARIABLE = "?item";
-    private const string SHARED_FILTER = "(!BOUND(nmm:uPnPShared(" +
+
+    private const string SHARED_FILTER = /*"(!BOUND(nmm:uPnPShared(" +
                                          ITEM_VARIABLE + ")) ||" +
                                          " nmm:uPnPShared(" +
                                          ITEM_VARIABLE +
-                                         ") = true) && " +
-                                         "(BOUND(nie:url(" +
+                                         ") = true) && " +*/
+                                         "(BOUND(nie:isStoredAs(" +
                                          ITEM_VARIABLE + ")))";
     private const string STRICT_SHARED_FILTER = "(BOUND(nmm:dlnaProfile(" +
                                                 ITEM_VARIABLE + ")))";
-    private const string AVAILABLE_FILTER = "(tracker:available(" +
-                                            ITEM_VARIABLE + ") = true)";
+    private const string AVAILABLE_FILTER = "(tracker:available(nie:isStoredAs(" +
+                                            ITEM_VARIABLE + ")) = true)";
 
     private string uri_filter;
 
@@ -77,7 +78,7 @@ public class Rygel.Tracker.SelectionQuery : Query {
         var config = MetaConfig.get_default ();
 
         try {
-            uris = config.get_string_list ("Tracker", "only-export-from");
+            uris = config.get_string_list ("Tracker3", "only-export-from");
         } catch (Error error) {
             uris = new ArrayList<string> ();
         }
@@ -166,7 +167,7 @@ public class Rygel.Tracker.SelectionQuery : Query {
 
         // Make sure we don't expose items on removable media that isn't
         // mounted
-        filters.add (AVAILABLE_FILTER);
+        //filters.add (AVAILABLE_FILTER);
 
         // If strict sharing is enabled, only expose files that have a DLNA
         // profile set
diff --git a/src/plugins/tracker3/rygel-tracker-upnp-property-map.vala 
b/src/plugins/tracker3/rygel-tracker-upnp-property-map.vala
index 7670b57c..eb305dd6 100644
--- a/src/plugins/tracker3/rygel-tracker-upnp-property-map.vala
+++ b/src/plugins/tracker3/rygel-tracker-upnp-property-map.vala
@@ -50,7 +50,7 @@ public class Rygel.Tracker.UPnPPropertyMap : Object {
                       "tracker:coalesce((SELECT false WHERE { { %s a ?o } " +
                       "FILTER (?o IN (nfo:FileDataObject, " +
                       "nfo:RemoteDataObject)) }), true)");
-        this.add_key_chain ("fileName", "nfo:fileName");
+        this.add_key_chain ("fileName", "nfo:fileName", "nie:isStoredAs");
         this.add_alternative ("dc:title", "nie:title", "nfo:fileName");
         this.add_key_chain ("dlnaProfile", "nmm:dlnaProfile");
         this.add_alternative ("mimeType", "nmm:dlnaMime", "nie:mimeType");


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]