media-export: Remove factory base class
authorJens Georg <mail@jensge.org>
Sat, 24 Jul 2010 16:31:07 +0000 (19:31 +0300)
committerZeeshan Ali (Khattak) <zeeshanak@gnome.org>
Thu, 5 Aug 2010 14:27:11 +0000 (17:27 +0300)
src/plugins/media-export/Makefile.am
src/plugins/media-export/rygel-media-export-db-object-factory.vala [deleted file]
src/plugins/media-export/rygel-media-export-media-cache.vala
src/plugins/media-export/rygel-media-export-object-factory.vala
src/plugins/media-export/rygel-media-export-root-container.vala

index 5f06c87..c65cb0b 100644 (file)
@@ -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-db-object-factory.vala b/src/plugins/media-export/rygel-media-export-db-object-factory.vala
deleted file mode 100644 (file)
index d0f8a6b..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Copyright (C) 2009 Jens Georg <mail@jensge.org>.
- *
- * Author: Jens Georg <mail@jensge.org>
- *
- * This file is part of Rygel.
- *
- * Rygel is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * Rygel is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-
-
-/**
- * Class used by MediaDB to create containers and items on demand
- *
- * If a specific kind of Item or Container is needed instead of
- * the default ones, inherit from this class and override the
- * corresponding methods.
- *
- * The class does not hold a reference to the MediaDB as the
- * MediaDB is holding a reference to the factory; this is done to
- * prevent circular references
- */
-public class Rygel.MediaExport.DBObjectFactory : 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,
-                                        uint       child_count) {
-        return new DBContainer (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 Rygel.MediaItem get_item (MediaCache     media_db,
-                                       MediaContainer parent,
-                                       string         id,
-                                       string         title,
-                                       string         upnp_class) {
-        return new Rygel.MediaItem (id, parent, title, upnp_class);
-    }
-}
index b2d1ead..ed8e4a0 100644 (file)
@@ -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 {
index 9eb236a..8b9eb40 100644 (file)
  * 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);
+    }
 }
index 1464419..f26c618 100644 (file)
@@ -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");