blob: 68a7fc2bcb9ee5faa5e95cdcd2fa8a3c7b3a2d0a [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:
David Tolnayced94802020-11-10 23:11:24 -080019 class Impl;
20 std::shared_ptr<Impl> impl;
David Tolnay4ca366f2020-11-10 20:55:31 -080021};
22
23std::unique_ptr<BlobstoreClient> new_blobstore_client();
24
25} // namespace blobstore
26} // namespace org