summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSona Kurazyan <sona.kurazyan@qt.io>2021-06-03 10:03:03 +0200
committerSona Kurazyan <sona.kurazyan@qt.io>2021-06-04 12:44:36 +0200
commit05f58c9d1903acdea30d0378257fe506a4159edd (patch)
tree92e49c223682ef5e00d29e42da5b77c94ec09538
parent7dcb801dca2ce76211ecef33050e60452dc0de24 (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.cpp6
-rw-r--r--src/remoteobjects/qconnectionfactories.h3
-rw-r--r--src/remoteobjects/qconnectionfactories_p.h4
-rw-r--r--src/remoteobjects/qremoteobjectnode.cpp14
-rw-r--r--src/remoteobjects/qremoteobjectsourceio.cpp4
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;