| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The QtRemoteObjects serialization is built on top of QDataStream, but
QDataStream is not secure. Mark all files parsing data as security
critical.
The security is dependent on the backend used. The local and QNX
backends communicate only locally but are insecure on a compromised
host. The TCP backend is by default insecure, but it supports TLS,
and can be secure if that is used.
The two files in the repparser directory are used for parsing, but
only at build time, and are therefore kept at security significant.
The remaining files are marked as security signifcant.
QUIP: 23
Task-number: QTBUG-135570
Pick-to: 6.10 6.9 6.8
Change-Id: I11176c036d95f8c706bd05e1cab1ba499003f683
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a semantic patch using ClangTidyTransformator as in
qtbase/df9d882d41b741fef7c5beeddb0abe9d904443d8:
auto QtContainerClass = anyOf(
expr(hasType(cxxRecordDecl(isSameOrDerivedFrom(hasAnyName(classes))))).bind(o),
expr(hasType(namedDecl(hasAnyName(<classes>)))).bind(o));
makeRule(cxxMemberCallExpr(on(QtContainerClass),
callee(cxxMethodDecl(hasAnyName({"count", "length"),
parameterCountIs(0))))),
changeTo(cat(access(o, cat("size"), "()"))),
cat("use 'size()' instead of 'count()/length()'"))
a.k.a qt-port-to-std-compatible-api with config Scope: 'Container',
with the extended set of container classes recognized.
Change-Id: Id816b39977e17712fd078900037efc45f66a0175
Reviewed-by: Sona Kurazyan <kurazyan.sona@gmail.com>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
| |
None of these users require C++20 constexpr or C++23 noexcept, the
only remaining difference between std::exchange and qExchange.
Task-number: QTBUG-99313
Change-Id: I3a1cc903f8298085dd2bf09a08234557e9eb430a
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
... fixing Clang -Wweak-vtables warnings, which we'll soon add to
headersclean.
Pick-to: 6.4
Task-number: QTBUG-45582
Change-Id: I0a2962f216c2fb03e924bb94b21c0903450974c5
Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Replace the current license disclaimer in files by
a SPDX-License-Identifier.
License files are organized under LICENSES directory.
Pick-to: 6.4
Task-number: QTBUG-67283
Change-Id: I315d7ce1d6c6c3497afdfe8b61a113fdc181c935
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
| |
Fixes: QTBUG-91041
Pick-to: 6.2 5.15
Change-Id: I5b56ed81ee9df658e0c596199dfde067bba6cd43
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
Reviewed-by: Brett Stottlemyer <bstottle@ford.com>
|
|
|
|
|
|
|
|
|
| |
This extends the previous commit to allow enums in hash/map containers.
Pick-to: 6.2
Change-Id: Iaea9f9ddcbf2e01a611e20800305ebbf236eeada
Reviewed-by: Michael Brasser <michael.brasser@live.com>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Move the methods and structs that don't need to be public into the
corresponding .cpp file.
Pick-to: 6.2
Task-number: QTBUG-94407
Change-Id: I125f17a214e09ff2ea9ae98801b418e07d732868
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Brett Stottlemyer <bstottle@ford.com>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There are two edge cases to watch out for. First, the property metaType's
metaObject() returns a nullptr, so the property QObject pointer's
metaObject needs to be used instead. If the QObject is null, the property
is skipped, as there is no way to get the metaobject without introducing
a dependency on QtQuick.
Pick-to: 6.2 5.15
Change-Id: I60ae36dffb30c840858e4d67b9980299c58354b4
Reviewed-by: Michael Brasser <michael.brasser@live.com>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Added QtRO prefix to IoDeviceBase, ServerIoDevice and ClientIoDevice
classes. These classes are exported and can be used externally for
supporting a custom transport by deriving from them and implementing
the virtual methods. Added the prefix also to ExternalIoDevice, to keep
the naming consistent.
Pick-to: 6.2
Change-Id: I64845cff55687a127d2c43de03ecc65ac9bd321b
Reviewed-by: Brett Stottlemyer <bstottle@ford.com>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
This hides implementation details and allows for different implementations
in the future.
Change-Id: I5502bb040afe502f7b127668cf7ff81ee79f5e89
Reviewed-by: Brett Stottlemyer <bstottle@ford.com>
Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Reviewed-by: Michael Brasser <michael.brasser@live.com>
|
|
|
|
|
| |
Change-Id: Ib1229eb973066a7500cb759082a1a3a7ce978bfa
Reviewed-by: Brett Stottlemyer <bstottle@ford.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fixed the following warnings:
- empty expression statement has no effect; remove unnecessary ';'
- use of old-style cast
- zero as null pointer constant
- other minor things
Change-Id: Ia672f48d2aa87c59354fc93fd19862f1875e13db
Reviewed-by: Brett Stottlemyer <bstottle@ford.com>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
|
|
|
|
|
|
|
|
|
| |
Task-number: QTBUG-84469
Task-number: QTBUG-90907
Change-Id: Ifc6f05fb5e17e32ec04b383770080e812c854510
Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Reviewed-by: Brett Stottlemyer <bstottle@ford.com>
|
|
|
|
|
| |
Change-Id: If7de5da3e7ad6d345e8b483486bb7177bccbc0df
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
| |
Task-number: QTBUG-90685
Change-Id: Iba9ee0a28ec0ceeca5ae318204deb14190042533
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Brett Stottlemyer <bstottle@ford.com>
|
|
|
|
|
|
|
|
| |
Differentiate between subobjects or models coming from different
primary objects.
Change-Id: Ic4360ae208edbe31a1130f60248a501d63e55773
Reviewed-by: Brett Stottlemyer <bstottle@ford.com>
|
|
|
|
|
| |
Change-Id: Ic4bfe4ba2173c84c743f4c972db216e6bbd30211
Reviewed-by: Brett Stottlemyer <bstottle@ford.com>
|
|
|
|
|
|
|
|
| |
Otherwise we can end up with superfluous emissions from the replica.
Pick-to: 5.15
Change-Id: I50d556d532025f39e692d601d68b414b3c4806fb
Reviewed-by: Brett Stottlemyer <bstottle@ford.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It makes little sense to use QStringLiteral in the following
situations:
- for comparison to a QString, because operator==, startsWith(),
indexOf() etc are overloaded for QLatin1String.
- for strings which are immediately appended to, or which are
appended or prepended to other strings.
because no dynamic memory allocation is saved by doing so. But if
the only advantage of QStringLiteral does not apply, all its
disadvantages dominate, to wit: injection of calls to the QString
dtor, non-sharability of data between C strings and QStringLiterals
and among QStringLiterals, and doubled storage requirements.
Fix by replacing QStringLiteral with QLatin1String, or char16_t
literals, whichever is more fitting.
Also use new QLatin1String::arg() more.
Change-Id: I55d05783889f521001a1cb8dedd276d0a183882f
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
These all have a non-neglible chance of somewhere indirectly modifying
the container they iterate over:
- In QRemoteObjectNode::timerEvent(), the loop calls a virtual
function and it's unclear whether that could reenter into
QRemoteObjectNode and modify d->pendingRequests. The name of the
virtual function suggests that it shouldn't, so this is ported
without taking a copy.
- In QRemoteObjectNodePrivate::onClientRead(), the loop calls
handleReplicaConnection(), which I didn't prove to not reenter into
QRemoteObjectNodePrivate and cause modifications to rxObjects. A
quick analysis indicates that the only writer to the object is
onClientRead() itself, in which case the question must be asked why
rxObjects is a member and not a local. Ported without copy.
- In QRemoteObjectSourceBase::handleMetaCall(), the loop again calls a
virtual function and it's uncler whether that could reenter and
cause a modification to d->m_listeners. The name of the virtual
function suggests that it shouldn't, so this is ported without
taking a copy.
- In QRemoteObjectSourceIo::onServerDisconnect(), the loop removes
listeners. While the immediate call does not modify m_sourceRoots,
it does call virtual functions which are not proven to not reenter
into the object and modify m_sourceRoots. The name of the function
suggests that it's not unlikely that an unregister may cause
another, indirect, unregistration, but after consultation with the
code's maintainer it has been decided to port this without taking a
copy and fix up once such use cases manifest themselves.
Change-Id: Ib9950ffd90718d8527e9f86818e2fb357a65db75
Reviewed-by: Brett Stottlemyer <bstottle@ford.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In ~QRemoteObjectRootSource(), the loop over m_listeners is calling
removeListener, which, unsurprisingly, removes the listener from
m_listeners. Since we iterate m_listeners forward, this loop has
quadratic overall complexity.
To fix, use a consume loop, making the erasure within removeListener()
a no-op. Added a comment to that effect.
Change-Id: Ic5a485dbd4e75c729acf9330a9851c3fcdcb9cc1
Reviewed-by: Michael Brasser <michael.brasser@live.com>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Brett Stottlemyer <bstottle@ford.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The previous logic for sending/receiving the Q_GADGET definition used a
custom GadgetsData type on both sides (a QByteArray for name and a QList
of name/type pairs for each member). This isn't really needed on the
send side, we just need the QMetaObject for the class. This simplifies
the logic on the send side, as we no longer need to copy data around and
merge duplicate types, and it allows extension to getting enums.
On the receive side, we do need to copy the data. In particular, there
can be nested types, where one POD includes another or an enum from
another type. It is easier to extend the class if it doesn't need to
support the send operation as well.
On the send side, we now have serializeGadgets() which takes the pointers
for gadget metaobjects as well as the list of needed QMetaEnum types.
Using these, it constructs the list of necessary types to serialize and
marshalls those.
On the receive side, there is registerGadgets which uses the extended
GadgetData struct (now including the data needed to create dynamic
QMetaEnums) to create metaObjects and register the required types.
Change-Id: I80ceff39131c7a2cdcfe592f338ea98f72e76874
Reviewed-by: Michael Brasser <michael.brasser@live.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This addresses two larger issues with enums and several smaller fixes.
First, unlike the recent fix for properties, we need to register enums for
queued connections to work and get signal/slot updates over QtRO to work.
This change adds said registration.
Second, enums are identified with the class they are defined in, so passing
updates through a dynamic object requires converting the typenames. The
templated enableRemoting methods become interesting here, as the class
name depends on the type passed as a template parameter. This change also
updates the repc output so enums are properly resolved via the templates.
Smaller fixes include updates to some tests and several places where enums
were converted to/from int. Note: we need (and have always needed) to
convert enums to ints, since the class name is passed as part of the
variant serialization which cannot be changed without major digging into
qvariant and QDataStream serialization internals.
Change-Id: I0a77f85df6a400a7a44394a05c9c2401bee4e4a8
Reviewed-by: Michael Brasser <michael.brasser@live.com>
|
|
|
|
|
|
|
|
|
|
| |
This required adding additional checks for QVariants that contain custom
types like PODs.
Change-Id: I5d77a07741000975ce8c5936688eab1af068dd6f
Fixes: QTBUG-75056
Fixes: QTBUG-74084
Reviewed-by: Michael Brasser <michael.brasser@live.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds new tests for checking that the proxy (which uses dynamic
replicas to avoid needing to include headers for all proxied types) works
correctly over multiple processes.
This found several edge cases not seen in the earlier (single process)
proxy auto tests.
1) When sending a new sub class to a dynamic replica, the properties need
to be stored in a separate QByteArray and extracted after the metatype
info (for both classes and gadgets) is processed.
2) When the templated acquire is used, the metatype information needs to
be added to the dynamicTypeManager.
3) There is an edge case where the DynamicApiMap for a null object could
not be built correctly. In this case, it needed to be regenerated once
a valid object was available for the Replica sub-class.
4) There were several edge cases where the typeName needed to be updated.
[ChangeLog][Important Behavior Changes] Qt Remote Objects uses an internal
protocol to pass data between processes and/or devices. The same protocol
version needs to be used on all sides. The version was bumped from 1.2 to
1.3 in this release, fixing potential crashes (see QTBUG-75017). If there
is a mismatch, the connecting node will output a warning and the host node
will not send any data.
Change-Id: I7af50f16ed370351eb0692d5f4b983848846b504
Fixes: QTBUG-75017
Reviewed-by: Michael Brasser <michael.brasser@live.com>
|
|\
| |
| |
| | |
Change-Id: I3822ef45344b07191c3b32883241db5e43e04187
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QVariant::data() gives us access to its internal pointer of the internal
data type, but if the type is a QVariant we can't use QVariant::data()
anymore.
Change-Id: Ifad5f5d5884913c38b289c69b50630c735eea7d6
Fix: QTBUG-72064
Reviewed-by: Brett Stottlemyer <bstottle@ford.com>
|
|/
|
|
|
|
|
|
|
|
| |
Always prepend the module and use headers directly.
Qt for Python requires the modules to be present.
Task-number: PYSIDE-862
Fixes: QTBUG-72675
Change-Id: I94e38fbab0f041370ca9d67ca13c78f0d33816b7
Reviewed-by: Brett Stottlemyer <bstottle@ford.com>
|
|
|
|
|
|
|
|
|
| |
Even if a QAIM property is nullptr, we still need to treat it as a
model.
Task-number: QTBUG-71987
Change-Id: Iea8b3bfda88c564c561a7ab6ed293fd0540f5de4
Reviewed-by: Brett Stottlemyer <bstottle@ford.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
* Don't crash source with null subobjects
* Don't crash replica with extra properties
* Ensure QML sees property changes at node assignment
Change-Id: I08c713ae86ba3ea8c75f259a31a572ae8cff6c59
Reviewed-by: Brett Stottlemyer <bstottle@ford.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Prior to supporting nested source objects (internally), there was no way
to support changing pointed to objects. Thus repc forced MODEL and CLASS
types to be CONSTANT. This change adds update support, which required a
few internal changes.
First of all, the Q_PROPERTY flags were extended to include a new mode,
SOURCEONLYSETTER. Having a replica setter for a pointer type makes no
sense (it wouldn't then be part of the API contract, and would fail if
the Node containing the replica dropped off the bus). So READWRITE didn't
make sense for pointer types. That left READONLY, but that mode generated
a protected, not public, setter on the Source side (the idea being that
something internal to the source class, not public, would change the
values). This would limit the functionality of pointer types, as they
could only be updated by inheriting from a Source class. Adding
SOURCEONLYSETTER addresses this, making the property read-only on the
replica-side, but read/write (with a public setter) on the source-side.
MODEL/CLASS now use SOURCEONLYSETTER.
Another internal impact is that templated acquire calls (where metaobject
data does not need to be sent from the source to define the type) can now
be updated, which requires storing the compile-time generated metaobject
for re-use. Thus a staticTypes member was added to the node metaoject-
manager.
Several tests (the ones with pointer-to-qobject properties) needed updating
since those properties are not constant anymore, and thus don't have (or
require) constructor parameters for setting the values.
Change-Id: If20cb0fb673d5e91613f9c238b514ed05380f975
Reviewed-by: Michael Brasser <michael.brasser@live.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
This would support, for example, using the "local" (or "qnx") backend on
a target, while still supporting debug via proxying the same objects over
a single tcp connection.
It should also, in theory, support converting to other marshalling formats
(maybe CBOR?).
Change-Id: Ib3c536d0c99b7a722c1c6ed145c8b5b567453f76
Reviewed-by: Michael Brasser <michael.brasser@live.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We create a new type (QRO_) to allow storing a subclass as a variant. Thus
when a QObject* property is marshalled, all of the pointed to properties
can be sent as a single variant. This can be decoded into the proper type
on the replica side.
This required giving Node's private a new QRemoteObjectMetaObjectManager,
a class to handle the building of dynamic metatypes.
Change-Id: Ib83b1edb2fd37dd12defb066d4c2b69509985eaa
Reviewed-by: Michael Brasser <michael.brasser@live.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QRemoteObjectSource is the class used to handle forwarding QObject changes
over QtRO, internally storing the listener pointers and managing the send
and receive of packets when changes occur. Previously, MODEL and CLASS
objects in a parent class were handled by calling enableRemoting separately
for each nested pointer type, resulting in separate (and independent)
QRemoteObjectSource instances.
This change defines a "Root" object (tied to the object enableRemoting() is
called on), and any nested QObject types are then created as child source
objects of the root object.
The implementation creates an abstract QRemoteObjectSourceBase class, with
QRemoteObjectRootSource and QRemoteObjectSource types derived from it. Only
the Root objects become "known" types on the bus (and thus only Root objects
can be acquired.
A Private class instance is created by the Root object and the pointer
passed to all child sources, providing a mechanism for sharing needed
information (such as the list of listeners) amonst all members of the
hierarchy.
Change-Id: I632e847cad288b4540c7de6676f791ca2e675f46
Reviewed-by: Konstantin Tokarev <annulen@yandex.ru>
Reviewed-by: Michael Brasser <michael.brasser@live.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The MODEL and CLASS types were originally tacked on top of repc's property
handling mechanism. That is, separate lists for models and subclasses were
created instead of including the types in repc's list of property metadata.
This was convenient for proving out the functionality, but led to a bunch
of one-off code (generating Q_PROPERTY code manually, needing separate
replica getter functions, etc).
This change incorporates the pointer types back into the property list in
repc, simplifying the code. This does require extensions because pointer
types are not symmetric (i.e., for MODEL, the type is QAbstractItemModel*
on the source side, QAbstractItemModelReplica* on the replica side).
The generated SourceApi code is enhanced to compile-time check subclass
types as well as take an optional name parameter (which allows a class to
have multiple subclass pointers).
SimpleSource handling of CONSTANT properties is also extended, providing
constructor parameters to set the initial values.
Change-Id: I91f542ef936abe4459962ae759ba3b0571464d5f
Reviewed-by: Michael Brasser <michael.brasser@live.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The Class and Model extensions to QML are very similar in that they come
down to additional QObject derived types that need to be made available
to the QtRO bus. The original Model behavior only supported c++ templated
calls on the source and replica side.
This change adds support for nested classes, via an extension to the .rep
file format. Similar to how POD types work, if multiple classes are
described in a .rep file, a class can include other classes as children.
When the `parent` is acquired, all child classes will be acquired as
well, automatically.
The syntax is `CLASS <name>(<type>), where type needs to be a class
defined in the same rep file, and the name is the getter name used to
access the sub-QObject. See tests/auto/subclassreplica/class.rep for an
example of usage.
This change includes supporting the non-templated enableRemoting() call,
as well as using/constructing replica types from QML for both Class and
Model.
Future TODO - update docs
Change-Id: Ib1e75c1a6db44497f78026e7f89caab5da94375b
Reviewed-by: Michael Brasser <michael.brasser@live.com>
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/remoteobjects/qremoteobjectabstractitemmodeladapter_p.h
src/remoteobjects/qremoteobjectdynamicreplica.cpp
src/remoteobjects/qremoteobjectnode_p.h
src/remoteobjects/qremoteobjectregistry.cpp
tests/auto/auto.pro
tools/repc/repcodegenerator.cpp
Done-with: BogDan Vatra <bogdan@kdab.com>
Change-Id: I9d0230736b768eac44b06376aeaab1b0b09eb22a
|
| |
| |
| |
| |
| |
| |
| |
| | |
[ChangeLog] The methods and then signals parameter names are useful when
acquire a dynamic object.
Change-Id: I2b2acfc06c66de0bc4684fda0cc43c364a575ccb
Reviewed-by: Brett Stottlemyer <bstottle@ford.com>
|
| |
| |
| |
| |
| |
| |
| | |
[ChangeLog] enum details are useful when acquire a dynamic object.
Change-Id: Ic926b31c3f868a3b1b14b827abef232554f944ce
Reviewed-by: Brett Stottlemyer <bstottle@ford.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Make API previously exposed in qconnectionfactories.h private. It is
only useful for backend implementations, and we recommend to develop
backend implementations in-tree.
Change-Id: I868b788ebefce9bc27f43376f619c6705b44afd5
Reviewed-by: Brett Stottlemyer <bstottle@ford.com>
|
|/
|
|
|
|
|
|
|
| |
They're not supposed to be used from our users. They're used in
generated code and in QtRemoteObject itself though.
Change-Id: I492fc76dcac60949d3a7b99c203a258e37864b9c
Reviewed-by: Michael Brasser <michael.brasser@live.com>
Reviewed-by: Brett Stottlemyer <bstottle@ford.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Unify licensing as it is in other submodules
- Src is licensed under Commercial, LGPLv3, GPLv2 and GPLv3 licenses
- Examples are licensed under Commercial and BSD licenses
- Tools and tests are licensed under commercial and GPLv3 license with
some exceptions
Task-number: QTBUG-58921
Change-Id: I4494bf8b705568b243340c98316bedd706145db5
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Brett Stottlemyer <bstottle@ford.com>
|
|
|
|
|
|
|
|
| |
Skip the moc/ directory intentionally, since it contains
third-party code
Change-Id: I97105e475c109231e001dc4525b3096a06601868
Reviewed-by: Brett Stottlemyer <bstottle@ford.com>
|
|
|
|
|
|
|
|
| |
Change-Id: I3cf39180b08b80ea65c46e7b6a9e81f3aa79d1af
Reviewed-by: Kevin Funk <kevin.funk@kdab.com>
Reviewed-by: Continuous Integration (KDAB) <build@kdab.com>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
|
| |
If the signature mismatch it will not complete the connection and will
signal the error.
Change-Id: Idd4a7a5290bb60d7428e16047a1b82db5e52b372
Reviewed-by: Continuous Integration (KDAB) <build@kdab.com>
Reviewed-by: Brett Stottlemyer <bstottle@ford.com>
|
|
|
|
|
|
|
|
| |
The new property is sent just before the signal invoke package, there
fore we just need to pass the propertyIndex not to serialized it again.
Change-Id: Id82030968b0e18f9f95e281e4f3fda950852857b
Reviewed-by: Brett Stottlemyer <bstottle@ford.com>
|
|
|
|
|
|
|
|
| |
In preparation of upcoming commit
Change-Id: I7043800c64282511011f1a3f4be6ec8f135d5186
Reviewed-by: Continuous Integration (KDAB) <build@kdab.com>
Reviewed-by: Brett Stottlemyer <bstottle@ford.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Commit 0e294632142a5f34036cdbe60c5daae2f9f72e67 ("Provide type name for
source locations") sends the typeName as well as the instance name over
QtRO.
However, certain codepaths it used metaObject's className for the value.
We now use the .rep class name instead, which doesn't include the Source
or SimpleSource suffix.
Change-Id: I584b63b09641361934ecfe71ff09bd1cd3918b0d
Reviewed-by: Continuous Integration (KDAB) <build@kdab.com>
Reviewed-by: Michael Brasser <michael.brasser@live.com>
|