diff options
author | fiaxh <git@lightrise.org> | 2019-02-13 21:50:15 +0100 |
---|---|---|
committer | fiaxh <git@lightrise.org> | 2019-02-14 00:04:01 +0100 |
commit | 736522737f4dae39af126353abfe26903b2c82ea (patch) | |
tree | c0e607550476b779e263fd772894e5816ee645cd /plugins/omemo | |
parent | d668e0158df40e1bb1ea00ab72fac9d0e95e8bd9 (diff) | |
download | dino-736522737f4dae39af126353abfe26903b2c82ea.tar.gz dino-736522737f4dae39af126353abfe26903b2c82ea.zip |
Make file read/write async
Diffstat (limited to 'plugins/omemo')
-rw-r--r-- | plugins/omemo/src/file_provider.vala | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/plugins/omemo/src/file_provider.vala b/plugins/omemo/src/file_provider.vala index 49b42e92..bda73bfb 100644 --- a/plugins/omemo/src/file_provider.vala +++ b/plugins/omemo/src/file_provider.vala @@ -106,14 +106,14 @@ public class FileProvider : Dino.FileProvider, Object { var session = new Soup.Session(); Soup.Request request = session.request(url); - file_transfer.input_stream = decrypt_file(yield request.send_async(null), url_body); + file_transfer.input_stream = yield decrypt_file(yield request.send_async(null), url_body); file_transfer.encryption = Encryption.OMEMO; OutputStream os = file.create(FileCreateFlags.REPLACE_DESTINATION); - os.splice(file_transfer.input_stream, 0); + yield os.splice_async(file_transfer.input_stream, 0); os.close(); file_transfer.path = file.get_basename(); - file_transfer.input_stream = file.read(); + file_transfer.input_stream = yield file.read_async(); file_transfer.state = FileTransfer.State.COMPLETE; } catch (Error e) { @@ -121,7 +121,7 @@ public class FileProvider : Dino.FileProvider, Object { } } - public InputStream? decrypt_file(InputStream input_stream, string url) { + public async InputStream? decrypt_file(InputStream input_stream, string url) { // Decode IV and key MatchInfo match_info; this.url_regex.match(url, 0, out match_info); @@ -140,7 +140,7 @@ public class FileProvider : Dino.FileProvider, Object { Array<uint8> data = new Array<uint8>(false, true, 0); size_t len = -1; do { - len = input_stream.read(buf); + len = yield input_stream.read_async(buf); data.append_vals(buf, (uint) len); } while(len > 0); |