remove super abstract authNZInitialize(void*)

with separate client and server calls.

Still dynamic_cast ugliness as Transport and Codec
hierarchies don't have a common root.
This commit is contained in:
Michael Davidsaver
2017-11-05 16:41:59 -06:00
parent 47332fdf90
commit 5e900b1f11
7 changed files with 24 additions and 36 deletions
+5 -5
View File
@@ -38,6 +38,7 @@
#include <pv/serializationHelper.h>
#include <pv/logger.h>
#include <pv/pvAccessMB.h>
#include <pv/codec.h>
#include <pv/rpcServer.h>
#include <pv/securityImpl.h>
@@ -183,12 +184,11 @@ void ServerConnectionValidationHandler::handleResponse(
if (payloadBuffer->getRemaining())
data = SerializationHelper::deserializeFull(payloadBuffer, transport.get());
struct {
std::string securityPluginName;
PVField::shared_pointer data;
} initData = { securityPluginName, data };
detail::BlockingServerTCPTransportCodec* casTransport(static_cast<detail::BlockingServerTCPTransportCodec*>(transport.get()));
//TODO: simplify byzantine class heirarchy...
assert(casTransport);
transport->authNZInitialize(&initData);
casTransport->authNZInitialize(securityPluginName, data);
}