[gnome-keyring] gcr: Add gcr_viewer_widget_get_parser()



commit 99d7466f2b099c63fc7e54ba10cadd6a10568952
Author: Stef Walter <stefw collabora co uk>
Date:   Thu Sep 29 15:29:11 2011 +0200

    gcr: Add gcr_viewer_widget_get_parser()
    
     * This property returns the parser currently in use by the viewer widget

 docs/reference/gcr/gcr-sections.txt |    1 +
 gcr/gcr-viewer-widget.c             |   48 +++++++++++++++++++++++++++++++++++
 gcr/gcr-viewer-widget.h             |    2 +
 gcr/gcr.symbols                     |    1 +
 4 files changed, 52 insertions(+), 0 deletions(-)
---
diff --git a/docs/reference/gcr/gcr-sections.txt b/docs/reference/gcr/gcr-sections.txt
index 584eb03..68a7c98 100644
--- a/docs/reference/gcr/gcr-sections.txt
+++ b/docs/reference/gcr/gcr-sections.txt
@@ -557,6 +557,7 @@ GcrViewerWidgetClass
 gcr_viewer_widget_new
 gcr_viewer_widget_load_data
 gcr_viewer_widget_load_file
+gcr_viewer_widget_get_parser
 <SUBSECTION Standard>
 gcr_viewer_widget_get_type
 GCR_TYPE_VIEWER_WIDGET
diff --git a/gcr/gcr-viewer-widget.c b/gcr/gcr-viewer-widget.c
index 7ed6839..8a0328e 100644
--- a/gcr/gcr-viewer-widget.c
+++ b/gcr/gcr-viewer-widget.c
@@ -48,6 +48,11 @@
  * located in files.
  */
 
+enum {
+	PROP_0,
+	PROP_PARSER
+};
+
 /**
  * GcrViewerWidget:
  *
@@ -229,6 +234,24 @@ gcr_viewer_widget_init (GcrViewerWidget *self)
 }
 
 static void
+gcr_viewer_widget_get_property (GObject *obj,
+                                guint prop_id,
+                                GValue *value,
+                                GParamSpec *pspec)
+{
+	GcrViewerWidget *self = GCR_VIEWER_WIDGET (obj);
+
+	switch (prop_id) {
+	case PROP_PARSER:
+		g_value_set_object (value, gcr_viewer_widget_get_parser (self));
+		break;
+	default:
+		G_OBJECT_WARN_INVALID_PROPERTY_ID (obj, prop_id, pspec);
+		break;
+	}
+}
+
+static void
 gcr_viewer_widget_dispose (GObject *obj)
 {
 	GcrViewerWidget *self = GCR_VIEWER_WIDGET (obj);
@@ -273,6 +296,16 @@ gcr_viewer_widget_class_init (GcrViewerWidgetClass *klass)
 
 	gobject_class->dispose = gcr_viewer_widget_dispose;
 	gobject_class->finalize = gcr_viewer_widget_finalize;
+	gobject_class->get_property = gcr_viewer_widget_get_property;
+
+	/**
+	 * GcrViewerWidget:parser:
+	 *
+	 * The parser used to parse loaded data into viewable items.
+	 */
+	g_object_class_install_property (gobject_class, PROP_PARSER,
+	           g_param_spec_object ("parser", "Parser", "Parser used to parse viewable items",
+	                                GCR_TYPE_PARSER, G_PARAM_READABLE));
 
 	g_type_class_add_private (klass, sizeof (GcrViewerWidget));
 
@@ -454,3 +487,18 @@ gcr_viewer_widget_load_data (GcrViewerWidget *self,
 		g_error_free (error);
 	}
 }
+
+/**
+ * gcr_viewer_widget_get_parser:
+ * @self: a viewer widget
+ *
+ * Get the parser used to parse loaded data into viewable items.
+ *
+ * Returns: (transfer none): the parser
+ */
+GcrParser *
+gcr_viewer_widget_get_parser (GcrViewerWidget *self)
+{
+	g_return_val_if_fail (GCR_IS_VIEWER_WIDGET (self), NULL);
+	return self->pv->parser;
+}
diff --git a/gcr/gcr-viewer-widget.h b/gcr/gcr-viewer-widget.h
index 24b6036..3e1e17e 100644
--- a/gcr/gcr-viewer-widget.h
+++ b/gcr/gcr-viewer-widget.h
@@ -50,4 +50,6 @@ void               gcr_viewer_widget_load_data        (GcrViewerWidget *self,
                                                        const guchar *data,
                                                        gsize n_data);
 
+GcrParser *        gcr_viewer_widget_get_parser       (GcrViewerWidget *self);
+
 #endif /* GCR_VIEWER_WIDGET_H */
diff --git a/gcr/gcr.symbols b/gcr/gcr.symbols
index d9410f3..4cb927e 100644
--- a/gcr/gcr.symbols
+++ b/gcr/gcr.symbols
@@ -96,6 +96,7 @@ gcr_viewer_remove_renderer
 gcr_viewer_window_get_type
 gcr_viewer_window_load
 gcr_viewer_window_new
+gcr_viewer_widget_get_parser
 gcr_viewer_widget_get_type
 gcr_viewer_widget_load_data
 gcr_viewer_widget_load_file



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