forked from lthn/blockchain
KV_SERIALIZE_BLOB_AS_BASE64_STRING() implemented
This commit is contained in:
parent
7f134072f6
commit
0015c8934d
2 changed files with 16 additions and 1 deletions
|
|
@ -85,6 +85,18 @@ namespace epee
|
|||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
// helper for blob-to-base64 serialization
|
||||
inline std::string transfrom_binbuf_to_base64(const std::string& a)
|
||||
{
|
||||
return epee::string_encoding::base64_encode(a);
|
||||
}
|
||||
|
||||
inline std::string transform_base64_to_binbuf(const std::string& a)
|
||||
{
|
||||
return epee::string_encoding::base64_decode(a);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------------------------------------------------------
|
||||
#pragma pack(push, 1)
|
||||
template<class first_t, class second_t>
|
||||
|
|
|
|||
|
|
@ -81,6 +81,8 @@ public: \
|
|||
#define KV_SERIALIZE_BLOB_AS_HEX_STRING_N(varialble, val_name) \
|
||||
KV_SERIALIZE_CUSTOM_N(varialble, std::string, epee::transform_binbuf_to_hexstr, epee::transform_hexstr_to_binbuff, val_name)
|
||||
|
||||
#define KV_SERIALIZE_BLOB_AS_BASE64_STRING_N(varialble, val_name) \
|
||||
KV_SERIALIZE_CUSTOM_N(varialble, std::string, epee::transfrom_binbuf_to_base64, epee::transform_base64_to_binbuf, val_name)
|
||||
|
||||
#define KV_SERIALIZE_VAL_POD_AS_BLOB_FORCE_N(varialble, val_name) \
|
||||
epee::serialization::selector<is_store>::serialize_t_val_as_blob(this_ref.varialble, stg, hparent_section, val_name);
|
||||
|
|
@ -100,7 +102,8 @@ public: \
|
|||
#define KV_SERIALIZE_CONTAINER_POD_AS_BLOB(varialble) KV_SERIALIZE_CONTAINER_POD_AS_BLOB_N(varialble, #varialble)
|
||||
#define KV_SERIALIZE_CUSTOM(varialble, stored_type, from_v_to_stored, from_stored_to_v) KV_SERIALIZE_CUSTOM_N(varialble, stored_type, from_v_to_stored, from_stored_to_v, #varialble)
|
||||
#define KV_SERIALIZE_POD_AS_HEX_STRING(varialble) KV_SERIALIZE_POD_AS_HEX_STRING_N(varialble, #varialble)
|
||||
#define KV_SERIALIZE_BLOB_AS_HEX_STRING(varialble) KV_SERIALIZE_BLOB_AS_HEX_STRING_N(varialble, #varialble)
|
||||
#define KV_SERIALIZE_BLOB_AS_HEX_STRING(varialble) KV_SERIALIZE_BLOB_AS_HEX_STRING_N(varialble, #varialble)
|
||||
#define KV_SERIALIZE_BLOB_AS_BASE64_STRING(variable) KV_SERIALIZE_BLOB_AS_BASE64_STRING_N(variable, #variable)
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue