1 #pragma once 2 #include "rust/cxx.h" 3 #include <memory> 4 5 namespace org { 6 namespace blobstore { 7 8 struct MultiBuf; 9 struct BlobMetadata; 10 11 class BlobstoreClient { 12 public: 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 18 private: 19 class impl; 20 std::shared_ptr<impl> impl; 21 }; 22 23 std::unique_ptr<BlobstoreClient> new_blobstore_client(); 24 25 } // namespace blobstore 26 } // namespace org 27