add missing GRPC_FINAL
diff --git a/include/grpc++/generic_service.h b/include/grpc++/generic_service.h
index 50a3646..724982e 100644
--- a/include/grpc++/generic_service.h
+++ b/include/grpc++/generic_service.h
@@ -43,7 +43,7 @@
typedef ServerAsyncReaderWriter<ByteBuffer, ByteBuffer> GenericServerReaderWriter;
-class GenericServerContext : public ServerContext {
+class GenericServerContext GRPC_FINAL : public ServerContext {
public:
const grpc::string& method() const { return method_; }
const grpc::string& host() const { return host_; }
@@ -55,7 +55,7 @@
grpc::string host_;
};
-class GenericService {
+class GenericService GRPC_FINAL {
public:
// TODO(yangg) Once we can add multiple completion queues to the server
// in c core, add a CompletionQueue* argument to the ctor here.
diff --git a/include/grpc++/generic_stub.h b/include/grpc++/generic_stub.h
index 87396f0..92c4df1 100644
--- a/include/grpc++/generic_stub.h
+++ b/include/grpc++/generic_stub.h
@@ -43,7 +43,7 @@
// Generic stubs provide a type-unsafe interface to call gRPC methods
// by name.
-class GenericStub {
+class GenericStub GRPC_FINAL {
public:
explicit GenericStub(std::shared_ptr<ChannelInterface> channel) : channel_(channel) {}