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