[rygel-gst-0-10-plugins] Override 'create-classes' property in WritableDbContainer.



commit 4ba909aaff34ec9135e821c6c3e007e4378ac2b6
Author: Krzesimir Nowak <krnowak openismus com>
Date:   Fri Feb 8 13:18:36 2013 +0100

    Override 'create-classes' property in WritableDbContainer.
    
    Didn't notice earlier that RygelWritableContainer introduces also an
    abstract 'create-classes' property.

 .../rygel-media-export-writable-db-container.c     |   48 ++++++++++++++++++++
 1 files changed, 48 insertions(+), 0 deletions(-)
---
diff --git a/src/media-export/rygel-media-export-writable-db-container.c b/src/media-export/rygel-media-export-writable-db-container.c
index 1b3004b..6a560c2 100644
--- a/src/media-export/rygel-media-export-writable-db-container.c
+++ b/src/media-export/rygel-media-export-writable-db-container.c
@@ -36,6 +36,11 @@ struct _RygelMediaExportWritableDbContainerPrivate {
   GeeArrayList* create_classes;
 };
 
+enum {
+  RYGEL_MEDIA_EXPORT_WRITABLE_DB_CONTAINER_DUMMY_PROPERTY,
+  RYGEL_MEDIA_EXPORT_WRITABLE_DB_CONTAINER_CREATE_CLASSES
+};
+
 #define RYGEL_MEDIA_EXPORT_WRITABLE_DB_CONTAINER_GET_PRIVATE(o) \
   (G_TYPE_INSTANCE_GET_PRIVATE ((o), \
                                 RYGEL_MEDIA_EXPORT_TYPE_WRITABLE_DB_CONTAINER, \
@@ -206,12 +211,55 @@ rygel_media_export_writable_db_container_constructed (GObject *object) {
 }
 
 static void
+rygel_media_export_writable_db_container_get_property (GObject    *object,
+                                                       guint       property_id,
+                                                       GValue     *value,
+                                                       GParamSpec *pspec) {
+  RygelWritableContainer *writable = RYGEL_WRITABLE_CONTAINER (object);
+
+  switch (property_id) {
+  case RYGEL_MEDIA_EXPORT_WRITABLE_DB_CONTAINER_CREATE_CLASSES:
+    g_value_set_object (value,
+                        rygel_writable_container_get_create_classes (writable));
+    break;
+
+  default:
+    G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
+    break;
+  }
+}
+
+static void
+rygel_media_export_writable_db_container_set_property (GObject      *object,
+                                                       guint         property_id,
+                                                       const GValue *value,
+                                                       GParamSpec   *pspec) {
+  RygelWritableContainer *writable = RYGEL_WRITABLE_CONTAINER (object);
+
+  switch (property_id) {
+  case RYGEL_MEDIA_EXPORT_WRITABLE_DB_CONTAINER_CREATE_CLASSES:
+    rygel_writable_container_set_create_classes (writable,
+                                                 g_value_get_object (value));
+    break;
+
+  default:
+    G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
+    break;
+  }
+}
+
+static void
 rygel_media_export_writable_db_container_class_init (RygelMediaExportWritableDbContainerClass *writable_db_container_class) {
   GObjectClass *object_class = G_OBJECT_CLASS (writable_db_container_class);
 
   object_class->dispose = rygel_media_export_writable_db_container_dispose;
   object_class->constructed = rygel_media_export_writable_db_container_constructed;
+  object_class->get_property = rygel_media_export_writable_db_container_get_property;
+  object_class->set_property = rygel_media_export_writable_db_container_set_property;
 
+  g_object_class_override_property (object_class,
+                                    RYGEL_MEDIA_EXPORT_WRITABLE_DB_CONTAINER_CREATE_CLASSES,
+                                    "create-classes");
   g_type_class_add_private (writable_db_container_class,
                             sizeof (RygelMediaExportWritableDbContainerPrivate));
 }


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