--- a/gflib-eggdbus/gflib-eggdbus/gfeggdbusserverconnection.c Mon Nov 02 22:34:12 2009 -0600
+++ b/gflib-eggdbus/gflib-eggdbus/gfeggdbusserverconnection.c Tue Nov 03 22:24:11 2009 -0600
@@ -87,7 +87,8 @@
/* register the feed manager object */
feed_manager = gf_connection_get_feed_manager(connection);
if(GF_IS_FEED_MANAGER(feed_manager)) {
- priv->feed_manager_proxy = gf_eggdbus_server_feed_manager_new(feed_manager);
+ priv->feed_manager_proxy = + gf_eggdbus_server_feed_manager_new(GF_EGGDBUS_SERVER_CONNECTION(server_connection), feed_manager); egg_dbus_connection_register_interface(priv->connection,
GF_EGGDBUS_PATH "feeds/manager",
--- a/gflib-eggdbus/gflib-eggdbus/gfeggdbusserverfeedmanager.c Mon Nov 02 22:34:12 2009 -0600
+++ b/gflib-eggdbus/gflib-eggdbus/gfeggdbusserverfeedmanager.c Tue Nov 03 22:24:11 2009 -0600
@@ -216,12 +216,16 @@
gf_eggdbus_server_feed_manager_get_property(GObject *obj, guint param_id,
GValue *value, GParamSpec *pspec)
- GfEggDBusServerFeedManager *feed_manager = GF_EGGDBUS_SERVER_FEED_MANAGER(obj);
+ GfEggDBusServerFeedManager *manager = GF_EGGDBUS_SERVER_FEED_MANAGER(obj); + g_value_set_object(value, + gf_eggdbus_server_feed_manager_get_connection(manager)); g_value_set_object(value,
- gf_eggdbus_server_feed_manager_get_real_feed_manager(feed_manager));
+ gf_eggdbus_server_feed_manager_get_real_feed_manager(manager)); G_OBJECT_WARN_INVALID_PROPERTY_ID(obj, param_id, pspec);
@@ -234,11 +238,15 @@
- GfEggDBusServerFeedManager *feed_manager = GF_EGGDBUS_SERVER_FEED_MANAGER(obj);
+ GfEggDBusServerFeedManager *manager = GF_EGGDBUS_SERVER_FEED_MANAGER(obj); + gf_eggdbus_server_feed_manager_set_connection(manager, + g_value_get_object(value)); - gf_eggdbus_server_feed_manager_set_real_feed_manager(feed_manager,
+ gf_eggdbus_server_feed_manager_set_real_feed_manager(manager, g_value_get_object(value));
@@ -273,6 +281,12 @@
manager_class->register_feed = gf_eggdbus_server_feed_manager_register_feed;
+ pspec = g_param_spec_object("connection", "connection", + "The GfEggDBusServerConnection that this manager is used by", + GF_TYPE_EGGDBUS_SERVER_CONNECTION, + G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY); + g_object_class_install_property(obj_class, PROP_CONNECTION, pspec); pspec = g_param_spec_object("feed-manager", "feed-manager",
"The concrete GfFeedManager that is wrapped.",
@@ -327,14 +341,28 @@
-gf_eggdbus_server_feed_manager_new(GfFeedManager *feed_manager) {
+gf_eggdbus_server_feed_manager_new(GfEggDBusServerConnection *connection, + GfFeedManager *feed_manager) g_return_val_if_fail(GF_IS_FEED_MANAGER(feed_manager), NULL);
return g_object_new(GF_TYPE_EGGDBUS_SERVER_FEED_MANAGER,
+ "connection", connection, "feed-manager", feed_manager,
+GfEggDBusServerConnection * +gf_eggdbus_server_feed_manager_get_connection(const GfEggDBusServerFeedManager *manager) { + GfEggDBusServerFeedManagerPrivate *priv = NULL; + g_return_val_if_fail(GF_IS_EGGDBUS_SERVER_FEED_MANAGER(manager), NULL); + priv = GF_EGGDBUS_SERVER_FEED_MANAGER_GET_PRIVATE(manager); + return priv->connection; gf_eggdbus_server_feed_manager_get_real_feed_manager(const GfEggDBusServerFeedManager *feed_manager) {
GfEggDBusServerFeedManagerPrivate *priv = NULL;
--- a/gflib-eggdbus/gflib-eggdbus/gfeggdbusserverfeedmanager.h Mon Nov 02 22:34:12 2009 -0600
+++ b/gflib-eggdbus/gflib-eggdbus/gfeggdbusserverfeedmanager.h Tue Nov 03 22:24:11 2009 -0600
@@ -34,6 +34,8 @@
#include <gflib/gf_lib.h>
+#include "gfeggdbusserverconnection.h" struct _GfEggDBusServerFeedManager {
@@ -57,7 +59,9 @@
void gf_eggdbus_server_feed_manager_register(GfNativePlugin *plugin);
GType gf_eggdbus_server_feed_manager_get_type(void);
-GfFeedManager *gf_eggdbus_server_feed_manager_new(GfFeedManager *feed_manager);
+GfFeedManager *gf_eggdbus_server_feed_manager_new(GfEggDBusServerConnection *connection, GfFeedManager *feed_manager); +GfEggDBusServerConnection *gf_eggdbus_server_feed_manager_get_connection(const GfEggDBusServerFeedManager *manager); GfFeedManager *gf_eggdbus_server_feed_manager_get_real_feed_manager(const GfEggDBusServerFeedManager *feed_manager);