diff options
Diffstat (limited to 'libdino/src/service/message_storage.vala')
-rw-r--r-- | libdino/src/service/message_storage.vala | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/libdino/src/service/message_storage.vala b/libdino/src/service/message_storage.vala index 27d9504d..35e05074 100644 --- a/libdino/src/service/message_storage.vala +++ b/libdino/src/service/message_storage.vala @@ -78,6 +78,16 @@ public class MessageStorage : StreamInteractionModule, Object { return null; } + public Conversation? get_conversation_for_stanza_id(Account account, string stanza_id) { + foreach (Conversation conversation in messages.keys) { + if (!conversation.account.equals(account)) continue; + foreach (Message message in messages[conversation]) { + if (message.stanza_id == stanza_id) return conversation; + } + } + return null; + } + private void init_conversation(Conversation conversation) { if (!messages.has_key(conversation)) { messages[conversation] = new Gee.TreeSet<Message>((a, b) => { |