diff options
Diffstat (limited to 'include/grpcpp/impl/codegen/server_interceptor.h')
-rw-r--r-- | include/grpcpp/impl/codegen/server_interceptor.h | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/include/grpcpp/impl/codegen/server_interceptor.h b/include/grpcpp/impl/codegen/server_interceptor.h index 14b786cef9..3f8cbcca8d 100644 --- a/include/grpcpp/impl/codegen/server_interceptor.h +++ b/include/grpcpp/impl/codegen/server_interceptor.h @@ -45,15 +45,7 @@ class ServerInterceptorFactoryInterface { class ServerRpcInfo { public: ServerRpcInfo() {} - ServerRpcInfo(grpc::ServerContext* ctx, const char* method, - const std::vector<std::unique_ptr< - experimental::ServerInterceptorFactoryInterface>>& creators) - : ctx_(ctx), method_(method) { - for (const auto& creator : creators) { - interceptors_.push_back(std::unique_ptr<experimental::Interceptor>( - creator->CreateServerInterceptor(this))); - } - } + ~ServerRpcInfo(){}; ServerRpcInfo(const ServerRpcInfo&) = delete; @@ -74,11 +66,24 @@ class ServerRpcInfo { } private: + ServerRpcInfo(grpc::ServerContext* ctx, const char* method) + : ctx_(ctx), method_(method) {} + + void RegisterInterceptors( + const std::vector< + std::unique_ptr<experimental::ServerInterceptorFactoryInterface>>& + creators) { + for (const auto& creator : creators) { + interceptors_.push_back(std::unique_ptr<experimental::Interceptor>( + creator->CreateServerInterceptor(this))); + } + } grpc::ServerContext* ctx_ = nullptr; const char* method_ = nullptr; std::vector<std::unique_ptr<experimental::Interceptor>> interceptors_; friend class internal::InterceptorBatchMethodsImpl; + friend class grpc::ServerContext; }; } // namespace experimental |