[rygel] New class: ExternalPluginFactory



commit 26561b7de55259a1aa8ae5266d0f2acc441c7388
Author: Zeeshan Ali (Khattak) <zeeshanak gnome org>
Date:   Tue May 12 18:32:36 2009 +0300

    New class: ExternalPluginFactory
    
    This class will be responsible for management of external plugins.
---
 src/plugins/external/rygel-external-plugin.vala |   27 +++++++++++++++++------
 1 files changed, 20 insertions(+), 7 deletions(-)

diff --git a/src/plugins/external/rygel-external-plugin.vala b/src/plugins/external/rygel-external-plugin.vala
index 4f8415b..88b7132 100644
--- a/src/plugins/external/rygel-external-plugin.vala
+++ b/src/plugins/external/rygel-external-plugin.vala
@@ -34,14 +34,30 @@ private const string PROPS_IFACE = "org.freedesktop.DBus.Properties";
 private const string OBJECT_IFACE = "org.Rygel.MediaObject1";
 private const string SERVICE_PREFIX = "org.Rygel.MediaServer1.";
 
+private ExternalPluginFactory plugin_factory;
+
 [ModuleInit]
 public void module_init (PluginLoader loader) {
     try {
-        DBus.Connection connection = DBus.Bus.get (DBus.BusType.SESSION);
+        plugin_factory = new ExternalPluginFactory (loader);
+    } catch (DBus.Error error) {
+        critical ("Failed to fetch list of external services: %s\n",
+                error.message);
+    }
+}
 
-        dynamic DBus.Object dbus_obj = connection.get_object (DBUS_SERVICE,
-                                                              DBUS_OBJECT,
-                                                              DBUS_IFACE);
+public class ExternalPluginFactory {
+    dynamic DBus.Object dbus_obj;
+    DBus.Connection     connection;
+    PluginLoader        loader;
+
+    public ExternalPluginFactory (PluginLoader loader) throws DBus.Error {
+        this.connection = DBus.Bus.get (DBus.BusType.SESSION);
+
+        this.dbus_obj = connection.get_object (DBUS_SERVICE,
+                                               DBUS_OBJECT,
+                                               DBUS_IFACE);
+        this.loader = loader;
 
         string[] services = dbus_obj.ListNames ();
         foreach (var service in services) {
@@ -51,9 +67,6 @@ public void module_init (PluginLoader loader) {
                                                        service));
             }
         }
-    } catch (DBus.Error error) {
-        critical ("Failed to fetch list of external services: %s\n",
-                error.message);
     }
 }
 



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