[rygel] media-export: Remove factory base class



commit a30c57260bfb72919e94c65297a6bcc5b4514927
Author: Jens Georg <mail jensge org>
Date:   Sat Jul 24 19:31:07 2010 +0300

    media-export: Remove factory base class

 src/plugins/media-export/Makefile.am               |    1 -
 .../rygel-media-export-db-object-factory.vala      |   66 --------------------
 .../rygel-media-export-media-cache.vala            |   11 +---
 .../rygel-media-export-object-factory.vala         |   27 ++++++++-
 .../rygel-media-export-root-container.vala         |    3 +-
 5 files changed, 28 insertions(+), 80 deletions(-)
---
diff --git a/src/plugins/media-export/Makefile.am b/src/plugins/media-export/Makefile.am
index 5f06c87..c65cb0b 100644
--- a/src/plugins/media-export/Makefile.am
+++ b/src/plugins/media-export/Makefile.am
@@ -21,7 +21,6 @@ AM_CFLAGS = $(LIBGUPNP_CFLAGS) \
 librygel_media_export_la_SOURCES = rygel-media-export-plugin.vala \
 				   rygel-media-export-database.vala \
 				   rygel-media-export-db-container.vala \
-				   rygel-media-export-db-object-factory.vala \
 				   rygel-media-export-media-cache.vala \
 				   rygel-media-export-media-cache-upgrader.vala \
 				   rygel-media-export-metadata-extractor.vala \
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 b2d1ead..ed8e4a0 100644
--- a/src/plugins/media-export/rygel-media-export-media-cache.vala
+++ b/src/plugins/media-export/rygel-media-export-media-cache.vala
@@ -44,7 +44,7 @@ public enum Rygel.MediaDBObjectType {
  */
 public class Rygel.MediaExport.MediaCache : Object {
     private Database db;
-    private DBObjectFactory factory;
+    private ObjectFactory factory;
     internal const string schema_version = "8";
     internal const string CREATE_META_DATA_TABLE_STRING =
     "CREATE TABLE meta_data (size INTEGER NOT NULL, " +
@@ -494,14 +494,7 @@ public class Rygel.MediaExport.MediaCache : Object {
 
     public MediaCache (string name) throws Error {
         this.open_db (name);
-        this.factory = new DBObjectFactory ();
-    }
-
-    public MediaCache.with_factory (string          name,
-                                    DBObjectFactory factory)
-                                    throws Error {
-        this.open_db (name);
-        this.factory = factory;
+        this.factory = new ObjectFactory ();
     }
 
     private void open_db (string name) throws Error {
diff --git a/src/plugins/media-export/rygel-media-export-object-factory.vala b/src/plugins/media-export/rygel-media-export-object-factory.vala
index 9eb236a..8b9eb40 100644
--- a/src/plugins/media-export/rygel-media-export-object-factory.vala
+++ b/src/plugins/media-export/rygel-media-export-object-factory.vala
@@ -20,8 +20,15 @@
  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  */
 
-internal class Rygel.MediaExport.ObjectFactory : DBObjectFactory {
-    public override MediaContainer get_container (
+internal class Rygel.MediaExport.ObjectFactory : Object {
+    /**
+     * Return a new instance of DatabaseBackedMediaContainer
+     *
+     * @param media_db instance of MediaDB
+     * @param title title of the container
+     * @param child_count number of children in the container
+     */
+    public virtual MediaContainer get_container (
                                         MediaCache media_db,
                                         string     id,
                                         string     title,
@@ -32,4 +39,20 @@ internal class Rygel.MediaExport.ObjectFactory : DBObjectFactory {
             return new WritableContainer (media_db, id, title);
         }
     }
+
+    /**
+     * Return a new instance of MediaItem
+     *
+     * @param media_db instance of MediaDB
+     * @param id id of the item
+     * @param title title of the item
+     * @param upnp_class upnp_class of the item
+     */
+    public virtual MediaItem get_item (MediaCache     media_db,
+                                       MediaContainer parent,
+                                       string         id,
+                                       string         title,
+                                       string         upnp_class) {
+        return new MediaItem (id, parent, title, upnp_class);
+    }
 }
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 1464419..f26c618 100644
--- a/src/plugins/media-export/rygel-media-export-root-container.vala
+++ b/src/plugins/media-export/rygel-media-export-root-container.vala
@@ -256,8 +256,7 @@ public class Rygel.MediaExport.RootContainer : Rygel.MediaExport.DBContainer {
      * Create a new root container.
      */
     private RootContainer () throws Error {
-        var object_factory = new ObjectFactory ();
-        var db = new MediaCache.with_factory ("media-export", object_factory);
+        var db = new MediaCache ("media-export");
 
         base (db, "0", "MediaExportRoot");
 



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