diff options
author | Brett Stottlemyer <bstottle@ford.com> | 2018-07-15 20:43:18 -0400 |
---|---|---|
committer | Brett Stottlemyer <bstottle@ford.com> | 2018-08-15 18:54:13 +0000 |
commit | e170cbe42b8f654894e4035c8ddfd6759a034be8 (patch) | |
tree | a0bf0b811aed03836f85df6acfa2414a552f0153 /src/remoteobjects/qremoteobjectsource.cpp | |
parent | 8761c1a282f596a64e0fc624c87added43fb47d8 (diff) |
Support externally generated QIODevices
This adds the APIs that will be necessary to create SSL sockets flexibly
(and outside of QtRO) and pass them in. The integration tests are extended
to show everything works if the tcp/ip connection is created outside QtRO.
The Registry is supported by allowing an "external schema" to be set as the
HostNode's url, which is then used by the registry as the address for any
remoted() source objects. The client Node calls registerExternalSchema()
with a std::function callback that can create the client-side QIODevice
given the registry provided url.
Change-Id: I0f2d0ea270771e096a787134ef87d537769045f6
Reviewed-by: Michael Brasser <michael.brasser@live.com>
Diffstat (limited to 'src/remoteobjects/qremoteobjectsource.cpp')
-rw-r--r-- | src/remoteobjects/qremoteobjectsource.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/remoteobjects/qremoteobjectsource.cpp b/src/remoteobjects/qremoteobjectsource.cpp index 5c9f7f9..36bee20 100644 --- a/src/remoteobjects/qremoteobjectsource.cpp +++ b/src/remoteobjects/qremoteobjectsource.cpp @@ -228,7 +228,7 @@ QRemoteObjectRootSource::~QRemoteObjectRootSource() delete it; } d->m_sourceIo->unregisterSource(this); - Q_FOREACH (ServerIoDevice *io, d->m_listeners) { + Q_FOREACH (IoDeviceBase *io, d->m_listeners) { removeListener(io, true); } delete d; @@ -323,11 +323,11 @@ void QRemoteObjectSourceBase::handleMetaCall(int index, QMetaObject::Call call, serializeInvokePacket(d->m_packet, name(), call, index, *marshalArgs(index, a), -1, propertyIndex); d->m_packet.baseAddress = 0; - Q_FOREACH (ServerIoDevice *io, d->m_listeners) + Q_FOREACH (IoDeviceBase *io, d->m_listeners) io->write(d->m_packet.array, d->m_packet.size); } -void QRemoteObjectRootSource::addListener(ServerIoDevice *io, bool dynamic) +void QRemoteObjectRootSource::addListener(IoDeviceBase *io, bool dynamic) { d->m_listeners.append(io); d->isDynamic = dynamic; @@ -347,7 +347,7 @@ void QRemoteObjectRootSource::addListener(ServerIoDevice *io, bool dynamic) d->isDynamic = false; } -int QRemoteObjectRootSource::removeListener(ServerIoDevice *io, bool shouldSendRemove) +int QRemoteObjectRootSource::removeListener(IoDeviceBase *io, bool shouldSendRemove) { d->m_listeners.removeAll(io); if (shouldSendRemove) |