diff options
author | Sona Kurazyan <sona.kurazyan@qt.io> | 2021-06-03 10:03:03 +0200 |
---|---|---|
committer | Sona Kurazyan <sona.kurazyan@qt.io> | 2021-06-04 12:44:36 +0200 |
commit | 05f58c9d1903acdea30d0378257fe506a4159edd (patch) | |
tree | 92e49c223682ef5e00d29e42da5b77c94ec09538 | |
parent | 7dcb801dca2ce76211ecef33050e60452dc0de24 (diff) |
Remove the IoDeviceBase::stream() method
When support for multiple serialization backends is added, IoDeviceBase
shouldn't be aware of the serialization method used (serialization is
handled by the codec), so it should have no QDataStream-specific methods.
Moved the method returning QDataStream to the private part, so that it
can be easily removed later, without breaking SC.
Change-Id: I511306ac520c5b745576f5db31dc22f0eadacc62
Reviewed-by: Brett Stottlemyer <bstottle@ford.com>
-rw-r--r-- | src/remoteobjects/qconnectionfactories.cpp | 6 | ||||
-rw-r--r-- | src/remoteobjects/qconnectionfactories.h | 3 | ||||
-rw-r--r-- | src/remoteobjects/qconnectionfactories_p.h | 4 | ||||
-rw-r--r-- | src/remoteobjects/qremoteobjectnode.cpp | 14 | ||||
-rw-r--r-- | src/remoteobjects/qremoteobjectsourceio.cpp | 4 |
5 files changed, 14 insertions, 17 deletions
diff --git a/src/remoteobjects/qconnectionfactories.cpp b/src/remoteobjects/qconnectionfactories.cpp index 95536c6..58ee5c0 100644 --- a/src/remoteobjects/qconnectionfactories.cpp +++ b/src/remoteobjects/qconnectionfactories.cpp @@ -164,12 +164,6 @@ void IoDeviceBase::initializeDataStream() d->m_dataStream.resetStatus(); } -QDataStream &IoDeviceBase::stream() -{ - Q_D(IoDeviceBase); - return d->m_dataStream; -} - bool IoDeviceBase::isClosing() const { Q_D(const IoDeviceBase); diff --git a/src/remoteobjects/qconnectionfactories.h b/src/remoteobjects/qconnectionfactories.h index f244fd2..c34c8fd 100644 --- a/src/remoteobjects/qconnectionfactories.h +++ b/src/remoteobjects/qconnectionfactories.h @@ -77,8 +77,6 @@ public: virtual qint64 bytesAvailable() const; virtual QIODevice *connection() const = 0; void initializeDataStream(); - // TODO Remove stream() - QDataStream &stream(); bool isClosing() const; void addSource(const QString &); void removeSource(const QString &); @@ -97,6 +95,7 @@ private: Q_DECLARE_PRIVATE(IoDeviceBase) friend class QRemoteObjectNodePrivate; friend class QConnectedReplicaImplementation; + friend class QRemoteObjectSourceIo; }; class Q_REMOTEOBJECTS_EXPORT ServerIoDevice : public IoDeviceBase diff --git a/src/remoteobjects/qconnectionfactories_p.h b/src/remoteobjects/qconnectionfactories_p.h index b684db2..4b54d74 100644 --- a/src/remoteobjects/qconnectionfactories_p.h +++ b/src/remoteobjects/qconnectionfactories_p.h @@ -89,6 +89,10 @@ class IoDeviceBasePrivate : public QObjectPrivate { public: IoDeviceBasePrivate(); + + // TODO Remove stream() + QDataStream &stream() { return m_dataStream; } + bool m_isClosing = false; quint32 m_curReadSize = 0; QDataStream m_dataStream; diff --git a/src/remoteobjects/qremoteobjectnode.cpp b/src/remoteobjects/qremoteobjectnode.cpp index 5c4c6b5..35cb283 100644 --- a/src/remoteobjects/qremoteobjectnode.cpp +++ b/src/remoteobjects/qremoteobjectnode.cpp @@ -1452,7 +1452,7 @@ void QRemoteObjectNodePrivate::onClientRead(QObject *obj) break; case QRemoteObjectPacketTypeEnum::ObjectList: { - codec->deserializeObjectListPacket(connection->stream(), rxObjects); + codec->deserializeObjectListPacket(connection->d_func()->stream(), rxObjects); qROPrivDebug() << "newObjects:" << rxObjects; // We need to make sure all of the source objects are in connectedSources before we add connections, // otherwise nested QObjects could fail (we want to acquire children before parents, and the object @@ -1478,7 +1478,7 @@ void QRemoteObjectNodePrivate::onClientRead(QObject *obj) qROPrivDebug() << "InitPacket-->" << rxName << this; QSharedPointer<QConnectedReplicaImplementation> rep = qSharedPointerCast<QConnectedReplicaImplementation>(replicas.value(rxName).toStrongRef()); //Use m_rxArgs (a QVariantList to hold the properties QVariantList) - codec->deserializeInitPacket(connection->stream(), rxArgs); + codec->deserializeInitPacket(connection->d_func()->stream(), rxArgs); if (rep) { handlePointerToQObjectProperties(rep.data(), rxArgs); @@ -1491,8 +1491,8 @@ void QRemoteObjectNodePrivate::onClientRead(QObject *obj) case QRemoteObjectPacketTypeEnum::InitDynamicPacket: { qROPrivDebug() << "InitDynamicPacket-->" << rxName << this; - const QMetaObject *meta = dynamicTypeManager.addDynamicType(connection, connection->stream()); - codec->deserializeInitPacket(connection->stream(), rxArgs); + const QMetaObject *meta = dynamicTypeManager.addDynamicType(connection, connection->d_func()->stream()); + codec->deserializeInitPacket(connection->d_func()->stream(), rxArgs); QSharedPointer<QConnectedReplicaImplementation> rep = qSharedPointerCast<QConnectedReplicaImplementation>(replicas.value(rxName).toStrongRef()); if (rep) { @@ -1523,7 +1523,7 @@ void QRemoteObjectNodePrivate::onClientRead(QObject *obj) case QRemoteObjectPacketTypeEnum::PropertyChangePacket: { int propertyIndex; - codec->deserializePropertyChangePacket(connection->stream(), propertyIndex, rxValue); + codec->deserializePropertyChangePacket(connection->d_func()->stream(), propertyIndex, rxValue); QSharedPointer<QRemoteObjectReplicaImplementation> rep = qSharedPointerCast<QRemoteObjectReplicaImplementation>(replicas.value(rxName).toStrongRef()); if (rep) { QConnectedReplicaImplementation *connectedRep = nullptr; @@ -1554,7 +1554,7 @@ void QRemoteObjectNodePrivate::onClientRead(QObject *obj) case QRemoteObjectPacketTypeEnum::InvokePacket: { int call, index, serialId, propertyIndex; - codec->deserializeInvokePacket(connection->stream(), call, index, rxArgs, serialId, propertyIndex); + codec->deserializeInvokePacket(connection->d_func()->stream(), call, index, rxArgs, serialId, propertyIndex); QSharedPointer<QRemoteObjectReplicaImplementation> rep = qSharedPointerCast<QRemoteObjectReplicaImplementation>(replicas.value(rxName).toStrongRef()); if (rep) { static QVariant null(QMetaType::fromType<QObject *>(), nullptr); @@ -1589,7 +1589,7 @@ void QRemoteObjectNodePrivate::onClientRead(QObject *obj) case QRemoteObjectPacketTypeEnum::InvokeReplyPacket: { int ackedSerialId; - codec->deserializeInvokeReplyPacket(connection->stream(), ackedSerialId, rxValue); + codec->deserializeInvokeReplyPacket(connection->d_func()->stream(), ackedSerialId, rxValue); QSharedPointer<QRemoteObjectReplicaImplementation> rep = qSharedPointerCast<QRemoteObjectReplicaImplementation>(replicas.value(rxName).toStrongRef()); if (rep) { qROPrivDebug() << "Received InvokeReplyPacket ack'ing serial id:" << ackedSerialId; diff --git a/src/remoteobjects/qremoteobjectsourceio.cpp b/src/remoteobjects/qremoteobjectsourceio.cpp index d250704..b651de2 100644 --- a/src/remoteobjects/qremoteobjectsourceio.cpp +++ b/src/remoteobjects/qremoteobjectsourceio.cpp @@ -191,7 +191,7 @@ void QRemoteObjectSourceIo::onServerRead(QObject *conn) case AddObject: { bool isDynamic; - m_codec->deserializeAddObjectPacket(connection->stream(), isDynamic); + m_codec->deserializeAddObjectPacket(connection->d_func()->stream(), isDynamic); qRODebug(this) << "AddObject" << m_rxName << isDynamic; if (m_sourceRoots.contains(m_rxName)) { QRemoteObjectRootSource *root = m_sourceRoots[m_rxName]; @@ -218,7 +218,7 @@ void QRemoteObjectSourceIo::onServerRead(QObject *conn) case InvokePacket: { int call, index, serialId, propertyId; - m_codec->deserializeInvokePacket(connection->stream(), call, index, m_rxArgs, serialId, propertyId); + m_codec->deserializeInvokePacket(connection->d_func()->stream(), call, index, m_rxArgs, serialId, propertyId); if (m_rxName == QLatin1String("Registry") && !m_registryMapping.contains(connection)) { const QRemoteObjectSourceLocation loc = m_rxArgs.first().value<QRemoteObjectSourceLocation>(); m_registryMapping[connection] = loc.second.hostUrl; |