diff --git a/include/grpc++/channel_interface.h b/include/grpc++/channel_interface.h index 4d48974e69107920d670be4087fa8fed776613c9..10fb9538bcd5f16f3d4b839980330f2c8a5cec0d 100644 --- a/include/grpc++/channel_interface.h +++ b/include/grpc++/channel_interface.h @@ -34,6 +34,8 @@ #ifndef GRPCXX_CHANNEL_INTERFACE_H #define GRPCXX_CHANNEL_INTERFACE_H +#include <memory> + #include <grpc++/status.h> #include <grpc++/impl/call.h> @@ -47,11 +49,12 @@ class CompletionQueue; class RpcMethod; class CallInterface; -class ChannelInterface : public CallHook { +class ChannelInterface : public CallHook, + public std::enable_shared_from_this<ChannelInterface> { public: virtual ~ChannelInterface() {} - virtual void *RegisterMethod(const char *method_name) = 0; + virtual void* RegisterMethod(const char* method_name) = 0; virtual Call CreateCall(const RpcMethod& method, ClientContext* context, CompletionQueue* cq) = 0; }; diff --git a/src/cpp/client/channel.h b/src/cpp/client/channel.h index 46009d20bad7692f3af5a0a74b6c3c0f354da80c..cd239247c8270c9518f39d27a068515c5dd31353 100644 --- a/src/cpp/client/channel.h +++ b/src/cpp/client/channel.h @@ -51,7 +51,6 @@ class Credentials; class StreamContextInterface; class Channel GRPC_FINAL : public GrpcLibrary, - public std::enable_shared_from_this<Channel>, public ChannelInterface { public: Channel(const grpc::string& target, grpc_channel* c_channel);