blob: 7d2fe9c6693843d1f122aa997f1da6b35888d177 [file] [log] [blame] [edit]
#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