aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/olm/olm.h4
-rw-r--r--javascript/olm_post.js7
-rw-r--r--src/olm.cpp6
3 files changed, 17 insertions, 0 deletions
diff --git a/include/olm/olm.h b/include/olm/olm.h
index 0886fa9..81b6602 100644
--- a/include/olm/olm.h
+++ b/include/olm/olm.h
@@ -300,6 +300,10 @@ size_t olm_session_id(
void * id, size_t id_length
);
+int olm_session_has_received_message(
+ OlmSession *session
+);
+
/** Checks if the PRE_KEY message is for this in-bound session. This can happen
* if multiple messages are sent to this account before this account sends a
* message in reply. Returns olm_error() on failure. If the base64
diff --git a/javascript/olm_post.js b/javascript/olm_post.js
index 955d68d..6c99030 100644
--- a/javascript/olm_post.js
+++ b/javascript/olm_post.js
@@ -263,6 +263,13 @@ Session.prototype['session_id'] = restore_stack(function() {
return Pointer_stringify(id_buffer);
});
+Session.prototype['has_received_message'] = function() {
+ return session_method(Module['_olm_session_has_received_message'])(
+ this.ptr
+ ) ? true : false;
+};
+
+
Session.prototype['matches_inbound'] = restore_stack(function(
one_time_key_message
) {
diff --git a/src/olm.cpp b/src/olm.cpp
index 682a84c..7f68ad0 100644
--- a/src/olm.cpp
+++ b/src/olm.cpp
@@ -529,6 +529,12 @@ size_t olm_session_id(
}
+int olm_session_has_received_message(
+ OlmSession * session
+) {
+ return from_c(session)->received_message;
+}
+
size_t olm_matches_inbound_session(
OlmSession * session,
void * one_time_key_message, size_t message_length