aboutsummaryrefslogtreecommitdiff
path: root/xmpp-vala/src/module/iq
diff options
context:
space:
mode:
Diffstat (limited to 'xmpp-vala/src/module/iq')
-rw-r--r--xmpp-vala/src/module/iq/module.vala10
1 files changed, 10 insertions, 0 deletions
diff --git a/xmpp-vala/src/module/iq/module.vala b/xmpp-vala/src/module/iq/module.vala
index f5cb6acf..51a5f359 100644
--- a/xmpp-vala/src/module/iq/module.vala
+++ b/xmpp-vala/src/module/iq/module.vala
@@ -9,6 +9,16 @@ namespace Xmpp.Iq {
private HashMap<string, ResponseListener> responseListeners = new HashMap<string, ResponseListener>();
private HashMap<string, ArrayList<Handler>> namespaceRegistrants = new HashMap<string, ArrayList<Handler>>();
+ public async Iq.Stanza send_iq_async(XmppStream stream, Iq.Stanza iq) {
+ Iq.Stanza? return_stanza = null;
+ send_iq(stream, iq, (_, result_iq) => {
+ return_stanza = result_iq;
+ Idle.add(send_iq_async.callback);
+ });
+ yield;
+ return return_stanza;
+ }
+
public delegate void OnResult(XmppStream stream, Iq.Stanza iq);
public void send_iq(XmppStream stream, Iq.Stanza iq, owned OnResult? listener = null) {
stream.write(iq.stanza);