diff options
Diffstat (limited to 'javascript')
-rw-r--r-- | javascript/olm_post.js | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/javascript/olm_post.js b/javascript/olm_post.js index 60876b1..94d3e82 100644 --- a/javascript/olm_post.js +++ b/javascript/olm_post.js @@ -222,6 +222,29 @@ Session.prototype['create_inbound'] = restore_stack(function( ); }); +Session.prototype['create_inbound_from'] = restore_stack(function( + account, identity_key, one_time_key_message +) { + var identity_key_array = array_from_string(identity_key); + var identity_key_buffer = stack(identity_key_array); + var message_array = array_from_string(one_time_key_message); + var message_buffer = stack(message_array); + session_method(Module['_olm_create_inbound_session_from'])( + this.ptr, account.ptr, + identity_key_buffer, identity_key_array.length, + message_buffer, message_array.length + ); +}); + +Session.prototype['session_id'] = restore_stack(function() { + var id_length = session_method(Module['_olm_session_id_length'])(this.ptr); + var id_buffer = stack(id_length); + session_method(Module['_olm_session_id'])( + this.ptr, id_buffer, id_length + ); + return Pointer_stringify(id_buffer, id_length); +}); + Session.prototype['matches_inbound'] = restore_stack(function( account, one_time_key_message ) { @@ -232,6 +255,20 @@ Session.prototype['matches_inbound'] = restore_stack(function( ) ? true : false; }); +Session.prototype['matches_inbound_from'] = restore_stack(function( + account, identity_key, one_time_key_message +) { + var identity_key_array = array_from_string(identity_key); + var identity_key_buffer = stack(identity_key_array); + var message_array = array_from_string(one_time_key_message); + var message_buffer = stack(message_array); + return session_method(Module['_olm_matches_inbound_session_from'])( + this.ptr, account.ptr, + identity_key_buffer, identity_key_array.length, + message_buffer, message_array.length + ) ? true : false; +}); + Session.prototype['encrypt'] = restore_stack(function( plaintext ) { |