grim/guifications3

32b04b894f57
Parents 4533e1edd427
Children f37dc8fa8e08
finished up the feed manager registration assertions

fixes #66
--- 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);
switch(param_id) {
+ case PROP_CONNECTION:
+ g_value_set_object(value,
+ gf_eggdbus_server_feed_manager_get_connection(manager));
+ break;
case PROP_FEED_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));
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID(obj, param_id, pspec);
@@ -234,11 +238,15 @@
const GValue *value,
GParamSpec *pspec)
{
- GfEggDBusServerFeedManager *feed_manager = GF_EGGDBUS_SERVER_FEED_MANAGER(obj);
+ GfEggDBusServerFeedManager *manager = GF_EGGDBUS_SERVER_FEED_MANAGER(obj);
switch(param_id) {
+ case PROP_CONNECTION:
+ gf_eggdbus_server_feed_manager_set_connection(manager,
+ g_value_get_object(value));
+ break;
case PROP_FEED_MANAGER:
- 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));
break;
default:
@@ -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.",
GF_TYPE_FEED_MANAGER,
@@ -327,14 +341,28 @@
}
GfFeedManager *
-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,
NULL);
}
+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;
+}
+
GfFeedManager *
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 {
GfFeedManager parent;
@@ -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);
G_END_DECLS