1#ifndef _DITTO_ATTACHMENT_
2#define _DITTO_ATTACHMENT_
4#include "DiskUsage.hpp"
12struct AttachmentHandle;
15class DittoHandleWrapper;
33 std::vector<uint8_t>
get_data()
const;
54 std::string
get_id()
const;
73 uint64_t get_type()
const;
77 Attachment(std::vector<uint8_t>
id, uint64_t len,
78 std::map<std::string, std::string> metadata,
79 struct AttachmentHandle *handle,
80 std::shared_ptr<DittoHandleWrapper> ditto_handle_wrapper);
82 std::map<std::string, std::string> metadata;
83 std::vector<uint8_t> id;
85 std::shared_ptr<AttachmentInner> handle;
86 std::shared_ptr<DittoHandleWrapper> ditto_handle_wrapper;
89 const char *get_path()
const;
93void to_json(nlohmann::json &j,
const Attachment &a);
nlohmann::byte_container_with_subtype< BinaryType > binary_t
a type for a packed binary type
Definition json.hpp:19667
These objects are returned by calls to Store::fetch_attachment.
Definition AttachmentFetcher.hpp:28
Represents an attachment and can be used to insert the associated attachment into a document at a spe...
Definition Attachment.hpp:22
DiskUsage & get_disk_usage() const
Provides access to the Attachment's disk usage.
std::string get_id() const
Gets the attachment's ID.
Definition Attachment.cpp:86
std::vector< uint8_t > get_data() const
Returns the attachment's data as a byte array.
Definition Attachment.cpp:40
bool copy_to_path(const std::string &dest_path)
Copies the attachment to the specified file path.
Definition Attachment.cpp:62
std::map< std::string, std::string > get_metadata() const
Gets the attachment's metadata.
Definition Attachment.cpp:93
uint64_t get_len() const
Gets the attachment's size in bytes.
Definition Attachment.cpp:91
A reference to a collection in a Store.
Definition Collection.hpp:27
Provides an interface to be able to monitor local files.
Definition DiskUsage.hpp:66
Provides access to Collections and a write transaction API.
Definition Store.hpp:29