-
Task
-
Resolution: Fixed
-
P3: Somewhat important
-
None
-
None
-
13
-
b27a709a1 (dev), eeb96d7a7 (dev), 7b1115bc2 (6.5), 92ad7b157 (dev), 9043a6283 (6.5), 9a1881718 (dev), e250e6b6f (dev), 176aa956e (dev), d7d32e45c (6.5), c37fcd914 (6.5), 0b60efa23 (6.5), e982b0655 (dev), c4754ea69 (dev), 86a6e0086 (6.5), 075d8d762 (6.5)
-
Foundation Sprint 72, Foundation Sprint 73, Foundation Sprint 74, Foundation Sprint 75, Foundation Sprint 76, Foundation Sprint 77, Foundation Sprint 78
This list may be split into separate stories:
- Add output argument HAS_GRPC/HAS_SERVICES to qt6_add_protobuf() cmake method

- Remove gRPC includes from public QtGrpc headers (qgrpcchannel.h, qgrpcabstractservice.h)

- Remove QAbstractGrpcClient* client argument from QAbstractGrpcChannel::stream() method (patch)
- Change API of QAbstractGrpcChannel to not duplicate call functionality for sync and async calls, not use return parameter and rename
- Add pkg-config to find gRPC on Debian

- Use better names for call() and stream() methods in the QAbstractGrpcChannel
- Use return instead of out parameter for QGrpcCallReply* in QAbstractGrpcChannel::call()
Use return instead of out parameter for QByteArray& in QAbstractGrpcChannel::call()
{}Find alternative usage that doesn't involve complex QSharedPointer logic
- In any case, don't use QSharedPointer in new code anymore, use std::shared_ptr (2x faster) (patch)

- Rename QGrpcAsyncOperation -> QGrpcOperation (patch)

- Remove QGrpcAbstractService class and disable service generation (patch)
Rename QAbstractGrpcClient -> QGrpcClientBase (patch)
- explicit all ctors that should be (incl. all except default ctors of QObject subclasses) (patch)

- all polymorphic dtors (incl. pure abstract ones) out-of-line and marked as override (patch)[
|https://codereview.qt-project.org/c/qt/qtgrpc/+/439481/comments/6d47c1e3_f04965e3] - review member functions for const-corretness (patch)

- use = default instead of }} for empty SMFs (patch)

- re-use QObject::d_ptr instead of each class rolling it's own (patch)

- use ""_L1, u""_s instead of QLatin1String/View, QStringLiteral (patch)
- includemocs the whole module (cf. e.g.
QTBUG-103207) (patch)
- omit pointless inline keywords (patch)

- use template < consistently, not template< (patch)

- re-think use of QString for methods when the underlying transport only supports 8-bit strings (const char*) (patch)
- use trailing , in enums (patch)

- use only scoped enums or at least a fixed underlying_type (patch)

- don't use defaulted arguments of non-trivial type (QTBUG-98117), overload instead (patch)

- leave empty line after Q_OBJECT, none after fwd declaring Private's (patch)

- no braces around 1-line bodies (patch)

- no empty () on lambdas (patch)

- Don't use 3-parameter QObject::connect; add a context object to run in reasonable threads and define lifetime (patch)

- Use return instead of out parameter for QGrpcStream* in QAbstractGrpcChannel::stream()