diff options
-rw-r--r-- | include/olm/olm.h | 4 | ||||
-rw-r--r-- | javascript/olm_post.js | 7 | ||||
-rw-r--r-- | src/olm.cpp | 6 |
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 |