| #pragma once |
| |
| #include <memory> |
| #include <string> |
| |
| namespace blobs { |
| |
| // Forward declaration to avoid complicating app with gRPC internals |
| class GrpcBlobDetails; |
| |
| class GrpcBlobServer { |
| public: |
| ~GrpcBlobServer() = default; |
| GrpcBlobServer(const GrpcBlobServer& copy) = delete; |
| GrpcBlobServer& operator=(const GrpcBlobServer& assign) = delete; |
| GrpcBlobServer(GrpcBlobServer&& move) = default; |
| GrpcBlobServer& operator=(GrpcBlobServer&& moveAssign) = default; |
| |
| explicit GrpcBlobServer(const std::string& basePath = ""); |
| |
| void start(); |
| void stop(); |
| |
| private: |
| std::string basePath_; |
| std::shared_ptr<GrpcBlobDetails> details; |
| }; |
| |
| } // namespace blobs |