blob: d89583aa9229b2df76525c2a9ddda0671778ae9d [file] [log] [blame]
David Tolnay4ca366f2020-11-10 20:55:31 -08001#pragma once
2#include "rust/cxx.h"
3#include <memory>
4
5namespace org {
6namespace blobstore {
7
8struct MultiBuf;
9struct BlobMetadata;
10
11class BlobstoreClient {
12public:
13 BlobstoreClient();
14 uint64_t put(MultiBuf &buf) const;
15 void tag(uint64_t blobid, rust::Str tag) const;
16 BlobMetadata metadata(uint64_t blobid) const;
17
18private:
19 class impl;
20 std::shared_ptr<impl> impl;
21};
22
23std::unique_ptr<BlobstoreClient> new_blobstore_client();
24
25} // namespace blobstore
26} // namespace org