From 7faac43afb7684936b19a61cb8667b78393977ec Mon Sep 17 00:00:00 2001 From: Thibault Saunier Date: Wed, 17 Jul 2013 20:21:53 -0400 Subject: [PATCH] qa-runner: Add a 'report-added' signal So it is possible to plug into the runner to get information about what is going from outside of it. --- validate/gst/qa/gst-qa-runner.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/validate/gst/qa/gst-qa-runner.c b/validate/gst/qa/gst-qa-runner.c index 1f3294a..4bbba0d 100644 --- a/validate/gst/qa/gst-qa-runner.c +++ b/validate/gst/qa/gst-qa-runner.c @@ -20,6 +20,7 @@ */ #include "gst-qa-runner.h" +#include "gst-qa-report.h" #include "gst-qa-monitor-factory.h" /** @@ -37,6 +38,16 @@ GST_DEBUG_CATEGORY_STATIC (gst_qa_runner_debug); #define gst_qa_runner_parent_class parent_class G_DEFINE_TYPE_WITH_CODE (GstQaRunner, gst_qa_runner, G_TYPE_OBJECT, _do_init); +/* signals */ +enum +{ + REPORT_ADDED_SIGNAL, + /* add more above */ + LAST_SIGNAL +}; + +static guint _signals[LAST_SIGNAL] = { 0 }; + static void gst_qa_runner_dispose (GObject * object) { @@ -63,6 +74,11 @@ gst_qa_runner_class_init (GstQaRunnerClass * klass) /* init the report system (can be called multiple times) */ gst_qa_report_init (); + + _signals[REPORT_ADDED_SIGNAL] = + g_signal_new ("report-added", G_TYPE_FROM_CLASS (klass), + G_SIGNAL_RUN_LAST, 0, NULL, NULL, NULL, G_TYPE_NONE, 1, + GST_TYPE_QA_REPORT); } static void @@ -109,6 +125,8 @@ void gst_qa_runner_add_report (GstQaRunner * runner, GstQaReport * report) { runner->reports = g_slist_prepend (runner->reports, report); + + g_signal_emit (runner, _signals[REPORT_ADDED_SIGNAL], 0, report); } void -- 2.7.4