From: Takashi Sakamoto Date: Mon, 18 Nov 2019 04:22:44 +0000 (+0900) Subject: rawmidi: stream_pair: add GObject signal to notify receipt of messages X-Git-Tag: v0.1.0~170 X-Git-Url: https://git.alsa-project.org/?a=commitdiff_plain;h=bd91f8f3d6f28b461fed88d06a43fc749202b836;p=alsa-gobject.git rawmidi: stream_pair: add GObject signal to notify receipt of messages Signed-off-by: Takashi Sakamoto --- diff --git a/src/rawmidi/stream-pair.c b/src/rawmidi/stream-pair.c index e085425..f4446ae 100644 --- a/src/rawmidi/stream-pair.c +++ b/src/rawmidi/stream-pair.c @@ -29,6 +29,12 @@ enum rawmidi_stream_pair_prop_type { }; static GParamSpec *rawmidi_stream_pair_props[RAWMIDI_STREAM_PAIR_PROP_COUNT] = { NULL, }; +enum rawmidi_stream_pair_sig_type { + RAWMIDI_STREAM_PAIR_SIG_HANDLE_MESSAGES = 0, + RAWMIDI_STREAM_PAIR_SIG_COUNT, +}; +static guint rawmidi_stream_pair_sigs[RAWMIDI_STREAM_PAIR_SIG_COUNT] = { 0 }; + static void rawmidi_stream_pair_get_property(GObject *obj, guint id, GValue *val, GParamSpec *spec) { @@ -75,6 +81,21 @@ static void alsarawmidi_stream_pair_class_init(ALSARawmidiStreamPairClass *klass g_object_class_install_properties(gobject_class, RAWMIDI_STREAM_PAIR_PROP_COUNT, rawmidi_stream_pair_props); + + /** + * ALSARawmidiStreamPair::handle-messages: + * @self: A #ALSARawmidiStreamPair. + * + * When any input message is available, this event is emit. + */ + rawmidi_stream_pair_sigs[RAWMIDI_STREAM_PAIR_SIG_HANDLE_MESSAGES] = + g_signal_new("handle_messages", + G_OBJECT_CLASS_TYPE(klass), + G_SIGNAL_RUN_LAST, + 0, + NULL, NULL, + g_cclosure_marshal_VOID__VOID, + G_TYPE_NONE, 0, NULL); } static void alsarawmidi_stream_pair_init(ALSARawmidiStreamPair *self) diff --git a/tests/alsarawmidi-stream-pair b/tests/alsarawmidi-stream-pair index b31a095..83a017f 100644 --- a/tests/alsarawmidi-stream-pair +++ b/tests/alsarawmidi-stream-pair @@ -25,7 +25,9 @@ methods = ( 'drop_substream', 'create_source', ) -signals = () +signals = ( + 'handle-messages', +) if not test(target, props, methods, signals): exit(ENXIO)