diff --git a/src/remote/abstractResponseHandler.cpp b/src/remote/abstractResponseHandler.cpp index 84b7634..6dad2ef 100644 --- a/src/remote/abstractResponseHandler.cpp +++ b/src/remote/abstractResponseHandler.cpp @@ -25,7 +25,9 @@ namespace pvAccess { size_t ResponseHandler::num_instances; -ResponseHandler::ResponseHandler() +ResponseHandler::ResponseHandler(Context* context, const std::string& description) + :_description(description) + ,_debugLevel(context->getConfiguration()->getPropertyAsInteger(PVACCESS_DEBUG, 0)) { REFTRACE_INCREMENT(num_instances); } @@ -35,7 +37,7 @@ ResponseHandler::~ResponseHandler() REFTRACE_DECREMENT(num_instances); } -void AbstractResponseHandler::handleResponse(osiSockAddr* responseFrom, +void ResponseHandler::handleResponse(osiSockAddr* responseFrom, Transport::shared_pointer const & transport, int8 version, int8 command, size_t payloadSize, ByteBuffer* payloadBuffer) { if(_debugLevel >= 3) { // TODO make a constant of sth (0 - off, 1 - debug, 2 - more/trace, 3 - messages) diff --git a/src/remote/pv/remote.h b/src/remote/pv/remote.h index 3702980..3cb00db 100644 --- a/src/remote/pv/remote.h +++ b/src/remote/pv/remote.h @@ -346,7 +346,7 @@ public: static size_t num_instances; - ResponseHandler(); + ResponseHandler(Context* context, const std::string& description); virtual ~ResponseHandler(); /** @@ -362,21 +362,7 @@ public: virtual void handleResponse(osiSockAddr* responseFrom, Transport::shared_pointer const & transport, epics::pvData::int8 version, epics::pvData::int8 command, std::size_t payloadSize, - epics::pvData::ByteBuffer* payloadBuffer) = 0; -}; - -class AbstractResponseHandler : public ResponseHandler { -public: - AbstractResponseHandler(Context* context, const std::string& description) : - _description(description), - _debugLevel(context->getConfiguration()->getPropertyAsInteger(PVACCESS_DEBUG, 0)) { - } - - virtual ~AbstractResponseHandler() {} - - virtual void handleResponse(osiSockAddr* responseFrom, Transport::shared_pointer const & transport, - epics::pvData::int8 version, epics::pvData::int8 command, std::size_t payloadSize, - epics::pvData::ByteBuffer* payloadBuffer); + epics::pvData::ByteBuffer* payloadBuffer); protected: /** diff --git a/src/remote/pv/securityImpl.h b/src/remote/pv/securityImpl.h index e90b3f4..ca3124c 100644 --- a/src/remote/pv/securityImpl.h +++ b/src/remote/pv/securityImpl.h @@ -10,12 +10,12 @@ namespace pvAccess { class AuthNZHandler : - public AbstractResponseHandler, + public ResponseHandler, private epics::pvData::NoDefaultMethods { public: AuthNZHandler(Context* context) : - AbstractResponseHandler(context, "authNZ message") + ResponseHandler(context, "authNZ message") { } diff --git a/src/remote/security.cpp b/src/remote/security.cpp index 9c5f2c2..d0104a8 100644 --- a/src/remote/security.cpp +++ b/src/remote/security.cpp @@ -59,7 +59,7 @@ void AuthNZHandler::handleResponse(osiSockAddr* responseFrom, size_t payloadSize, epics::pvData::ByteBuffer* payloadBuffer) { - AbstractResponseHandler::handleResponse(responseFrom, transport, version, command, payloadSize, payloadBuffer); + ResponseHandler::handleResponse(responseFrom, transport, version, command, payloadSize, payloadBuffer); epics::pvData::PVField::shared_pointer data = SerializationHelper::deserializeFull(payloadBuffer, transport.get()); diff --git a/src/remoteClient/clientContextImpl.cpp b/src/remoteClient/clientContextImpl.cpp index b0f51df..e924e35 100644 --- a/src/remoteClient/clientContextImpl.cpp +++ b/src/remoteClient/clientContextImpl.cpp @@ -2427,12 +2427,12 @@ public: -class AbstractClientResponseHandler : public AbstractResponseHandler { +class AbstractClientResponseHandler : public ResponseHandler { protected: ClientContextImpl::weak_pointer _context; public: AbstractClientResponseHandler(ClientContextImpl::shared_pointer const & context, string const & description) : - AbstractResponseHandler(context.get(), description), _context(ClientContextImpl::weak_pointer(context)) { + ResponseHandler(context.get(), description), _context(ClientContextImpl::weak_pointer(context)) { } virtual ~AbstractClientResponseHandler() { @@ -2964,7 +2964,9 @@ public: /** * @param context */ - ClientResponseHandler(ClientContextImpl::shared_pointer const & context) { + ClientResponseHandler(ClientContextImpl::shared_pointer const & context) + :ResponseHandler(context.get(), "ClientResponseHandler") + { ResponseHandler::shared_pointer badResponse(new BadResponse(context)); ResponseHandler::shared_pointer dataResponse(new DataResponseHandler(context)); diff --git a/src/server/pv/responseHandlers.h b/src/server/pv/responseHandlers.h index 9773d01..f95f563 100644 --- a/src/server/pv/responseHandlers.h +++ b/src/server/pv/responseHandlers.h @@ -19,12 +19,12 @@ namespace pvAccess { /** */ -class AbstractServerResponseHandler : public AbstractResponseHandler { +class AbstractServerResponseHandler : public ResponseHandler { protected: ServerContextImpl::shared_pointer _context; public: AbstractServerResponseHandler(ServerContextImpl::shared_pointer const & context, std::string description) : - AbstractResponseHandler(context.get(), description), _context(context) { + ResponseHandler(context.get(), description), _context(context) { } virtual ~AbstractServerResponseHandler() { diff --git a/src/server/responseHandlers.cpp b/src/server/responseHandlers.cpp index 1530459..9d68d0c 100644 --- a/src/server/responseHandlers.cpp +++ b/src/server/responseHandlers.cpp @@ -103,6 +103,7 @@ void ServerBadResponse::handleResponse(osiSockAddr* responseFrom, } ServerResponseHandler::ServerResponseHandler(ServerContextImpl::shared_pointer const & context) + :ResponseHandler(context.get(), "ServerResponseHandler") { ResponseHandler::shared_pointer badResponse(new ServerBadResponse(context)); m_handlerTable.resize(CMD_CANCEL_REQUEST+1);