json: Add command "getmore" to gpgme-json.
authorWerner Koch <wk@gnupg.org>
Wed, 18 Apr 2018 09:12:46 +0000 (11:12 +0200)
committerWerner Koch <wk@gnupg.org>
Wed, 18 Apr 2018 09:12:46 +0000 (11:12 +0200)
commited1052842df633bc149b14c4cb17859e3c66afe4
treef5ca182acdf9ae2e873ebd38b3d7c91d9fb3513d
parente69b175e8ed5430b56e2e8f3d68c16a45f0fed17
json: Add command "getmore" to gpgme-json.

* src/gpgme-json.c (MIN_REPLY_CHUNK_SIZE): New const.
(DEF_REPLY_CHUNK_SIZE): New const.
(MAX_REPLY_CHUNK_SIZE): New const.
(pending_data): New var.
(add_base64_to_object): Chnage to take a plain data pointer.
(get_chunksize): New.
(make_data_object): New.
(op_encrypt): Get chunksize and use make_data_object.
(op_getmore): New.
(process_request): Release pending data for all commands but "getmore"
and "help".
--

Native messaging has a limit on the data it may receive in one
request.  Thus the caller needs to watch for the "more" flag and
request the remaining data using "getmore" in a loop.

Signed-off-by: Werner Koch <wk@gnupg.org>
src/gpgme-json.c