diff options
author | Werner Koch <[email protected]> | 2016-08-12 13:21:16 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2016-08-12 13:21:42 +0000 |
commit | 293d1736911fd5e77b8cec305168b35b2420c612 (patch) | |
tree | fb8b9d18eff489ee673c4f4f1224ca3fe2ffecac /src/data.c | |
parent | Add Python bindings to NEWS. (diff) | |
download | gpgme-293d1736911fd5e77b8cec305168b35b2420c612.tar.gz gpgme-293d1736911fd5e77b8cec305168b35b2420c612.zip |
core: Add gpgme_data_set_flag to add more meta data to data objects.
* src/gpgme.h.in (gpgme_data_set_flag): New public function.
* src/data.c (gpgme_data_set_flag): New.
(_gpgme_data_get_size_hint): New.
* src/data.h (strucy gpgme_data): Add field 'size_hint'.
* src/gpgme.def, src/libgpgme.vers: Add new function.
* src/conversion.c (_gpgme_string_to_off): New.
Signed-off-by: Werner Koch <[email protected]>
Diffstat (limited to 'src/data.c')
-rw-r--r-- | src/data.c | 30 |
1 files changed, 30 insertions, 0 deletions
@@ -243,6 +243,28 @@ gpgme_data_get_file_name (gpgme_data_t dh) return dh->file_name; } + +/* Set a flag for the data object DH. See the manual for details. */ +gpg_error_t +gpgme_data_set_flag (gpgme_data_t dh, const char *name, const char *value) +{ + TRACE_BEG2 (DEBUG_DATA, "gpgme_data_set_flag", dh, + "%s=%s", name, value); + + if (!dh) + return TRACE_ERR (gpg_error (GPG_ERR_INV_VALUE)); + + if (!strcmp (name, "size-hint")) + { + dh->size_hint= value? _gpgme_string_to_off (value) : 0; + } + else + return gpg_error (GPG_ERR_UNKNOWN_NAME); + + return 0; +} + + /* Functions to support the wait interface. */ @@ -334,3 +356,11 @@ _gpgme_data_get_fd (gpgme_data_t dh) return -1; return (*dh->cbs->get_fd) (dh); } + + +/* Get the size-hint value for DH or 0 if not available. */ +gpgme_off_t +_gpgme_data_get_size_hint (gpgme_data_t dh) +{ + return dh ? dh->size_hint : 0; +} |