aboutsummaryrefslogtreecommitdiff
path: root/xmpp-vala/src
diff options
context:
space:
mode:
authorfiaxh <git@lightrise.org>2023-01-06 16:14:47 +0100
committerfiaxh <git@lightrise.org>2023-01-11 19:49:03 +0100
commitcb3b19b01deb8460627578b885339e7528411f6f (patch)
treee879305f4f43b0f88c44aeef4c02fde3f101b1e9 /xmpp-vala/src
parent0c4aea96ffbc05d6efeb9a83424b872ce7f30d88 (diff)
downloaddino-cb3b19b01deb8460627578b885339e7528411f6f.tar.gz
dino-cb3b19b01deb8460627578b885339e7528411f6f.zip
Support replies and reactions to files
Diffstat (limited to 'xmpp-vala/src')
-rw-r--r--xmpp-vala/src/module/message/module.vala6
-rw-r--r--xmpp-vala/src/module/xep/0444_reactions.vala4
-rw-r--r--xmpp-vala/src/util.vala8
3 files changed, 15 insertions, 3 deletions
diff --git a/xmpp-vala/src/module/message/module.vala b/xmpp-vala/src/module/message/module.vala
index 2eced5c1..ef39a663 100644
--- a/xmpp-vala/src/module/message/module.vala
+++ b/xmpp-vala/src/module/message/module.vala
@@ -17,7 +17,11 @@ namespace Xmpp {
public async void send_message(XmppStream stream, MessageStanza message) throws IOStreamError {
yield send_pipeline.run(stream, message);
- yield stream.write_async(message.stanza);
+ try {
+ yield stream.write_async(message.stanza);
+ } catch (IOStreamError e) {
+ throw new SendError.IO(e.message);
+ }
}
public async void received_message_stanza_async(XmppStream stream, StanzaNode node) {
diff --git a/xmpp-vala/src/module/xep/0444_reactions.vala b/xmpp-vala/src/module/xep/0444_reactions.vala
index 3501ca42..8e8a1706 100644
--- a/xmpp-vala/src/module/xep/0444_reactions.vala
+++ b/xmpp-vala/src/module/xep/0444_reactions.vala
@@ -11,7 +11,7 @@ public class Module : XmppStreamModule {
private ReceivedPipelineListener received_pipeline_listener = new ReceivedPipelineListener();
- public void send_reaction(XmppStream stream, Jid jid, string stanza_type, string message_id, Gee.List<string> reactions) {
+ public async void send_reaction(XmppStream stream, Jid jid, string stanza_type, string message_id, Gee.List<string> reactions) throws SendError {
StanzaNode reactions_node = new StanzaNode.build("reactions", NS_URI).add_self_xmlns();
reactions_node.put_attribute("id", message_id);
foreach (string reaction in reactions) {
@@ -25,7 +25,7 @@ public class Module : XmppStreamModule {
MessageProcessingHints.set_message_hint(message, MessageProcessingHints.HINT_STORE);
- stream.get_module(MessageModule.IDENTITY).send_message.begin(stream, message);
+ yield stream.get_module(MessageModule.IDENTITY).send_message(stream, message);
}
public override void attach(XmppStream stream) {
diff --git a/xmpp-vala/src/util.vala b/xmpp-vala/src/util.vala
index 6c0d0c9b..fda21f88 100644
--- a/xmpp-vala/src/util.vala
+++ b/xmpp-vala/src/util.vala
@@ -38,3 +38,11 @@ public long from_hex(string numeral) {
}
}
+
+namespace Xmpp {
+ public errordomain SendError {
+ IO,
+ NoStream,
+ Misc
+ }
+}