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 '')
| -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; +} | 
