QDBusArgumentPrivate: Disable copy and move, make constructor protected
Disable copy and move for the class because it is polymorphic. Make the constructor protected because instances of this class are not supposed to be created directly. Mark drived classes final. Change-Id: Ia6f2d640f3642ad4a6ecb3830fba152155e237b3 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>bb10
parent
37af09adf0
commit
e49d8444dc
|
|
@ -34,14 +34,10 @@ class QDBusMarshaller;
|
|||
class QDBusDemarshaller;
|
||||
class QDBusArgumentPrivate
|
||||
{
|
||||
Q_DISABLE_COPY_MOVE(QDBusArgumentPrivate)
|
||||
public:
|
||||
enum class Direction { Marshalling, Demarshalling };
|
||||
|
||||
explicit QDBusArgumentPrivate(Direction direction,
|
||||
QDBusConnection::ConnectionCapabilities flags = {})
|
||||
: capabilities(flags), direction(direction)
|
||||
{
|
||||
}
|
||||
virtual ~QDBusArgumentPrivate();
|
||||
|
||||
static bool checkRead(QDBusArgumentPrivate *d);
|
||||
|
|
@ -64,9 +60,16 @@ public:
|
|||
QAtomicInt ref = 1;
|
||||
QDBusConnection::ConnectionCapabilities capabilities;
|
||||
Direction direction;
|
||||
|
||||
protected:
|
||||
explicit QDBusArgumentPrivate(Direction direction,
|
||||
QDBusConnection::ConnectionCapabilities flags = {})
|
||||
: capabilities(flags), direction(direction)
|
||||
{
|
||||
}
|
||||
};
|
||||
|
||||
class QDBusMarshaller: public QDBusArgumentPrivate
|
||||
class QDBusMarshaller final : public QDBusArgumentPrivate
|
||||
{
|
||||
public:
|
||||
explicit QDBusMarshaller(QDBusConnection::ConnectionCapabilities flags = {})
|
||||
|
|
@ -125,7 +128,7 @@ private:
|
|||
Q_DISABLE_COPY_MOVE(QDBusMarshaller)
|
||||
};
|
||||
|
||||
class QDBusDemarshaller: public QDBusArgumentPrivate
|
||||
class QDBusDemarshaller final : public QDBusArgumentPrivate
|
||||
{
|
||||
public:
|
||||
explicit QDBusDemarshaller(QDBusConnection::ConnectionCapabilities flags = {})
|
||||
|
|
|
|||
Loading…
Reference in New Issue