X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcommon%2Fsyncableobject.h;h=c21630263522811fecacfc567126132c7746262b;hp=91e1e70e2925378fc9295fbf30c720861c82baf6;hb=673ded0d543cbdc2cf6e746b6bee7c1d21af8f90;hpb=92fc8c5b119111a35ab8423c3cbde5b2a022badf diff --git a/src/common/syncableobject.h b/src/common/syncableobject.h index 91e1e70e..c2163026 100644 --- a/src/common/syncableobject.h +++ b/src/common/syncableobject.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2018 by the Quassel Project * + * Copyright (C) 2005-2020 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -36,12 +36,11 @@ * i.e., if you have Foo, ClientFoo and/or CoreFoo, the SYNCABLE_OBJECT macro would * only be declared in the class declaration of Foo. */ -#define SYNCABLE_OBJECT \ - public: \ - const QMetaObject *syncMetaObject() const final override { \ - return &staticMetaObject; \ - } \ - private: \ +#define SYNCABLE_OBJECT \ +public: \ + const QMetaObject* syncMetaObject() const final override { return &staticMetaObject; } \ + \ +private: #define SYNC(...) sync_call__(SignalProxy::Server, __func__, __VA_ARGS__); #define REQUEST(...) sync_call__(SignalProxy::Client, __func__, __VA_ARGS__); @@ -49,7 +48,7 @@ #define SYNC_OTHER(x, ...) sync_call__(SignalProxy::Server, #x, __VA_ARGS__); #define REQUEST_OTHER(x, ...) sync_call__(SignalProxy::Client, #x, __VA_ARGS__); -#define ARG(x) const_cast(reinterpret_cast(&x)) +#define ARG(x) const_cast(reinterpret_cast(&x)) #define NO_ARG 0 class COMMON_EXPORT SyncableObject : public QObject @@ -57,9 +56,8 @@ class COMMON_EXPORT SyncableObject : public QObject Q_OBJECT public: - SyncableObject(QObject *parent = 0); - SyncableObject(const QString &objectName, QObject *parent = 0); - SyncableObject(const SyncableObject &other, QObject *parent = 0); + SyncableObject(QObject* parent = nullptr); + SyncableObject(const QString& objectName, QObject* parent = nullptr); ~SyncableObject() override; //! Stores the object's state into a QVariantMap. @@ -78,25 +76,22 @@ public: //! Initialize the object's state from a given QVariantMap. /** \see toVariantMap() for important information concerning this method. */ - virtual void fromVariantMap(const QVariantMap &properties); + virtual void fromVariantMap(const QVariantMap& properties); virtual bool isInitialized() const; - virtual const QMetaObject *syncMetaObject() const { return metaObject(); } + virtual const QMetaObject* syncMetaObject() const { return metaObject(); } inline void setAllowClientUpdates(bool allow) { _allowClientUpdates = allow; } inline bool allowClientUpdates() const { return _allowClientUpdates; } public slots: virtual void setInitialized(); - void requestUpdate(const QVariantMap &properties); - virtual void update(const QVariantMap &properties); + void requestUpdate(const QVariantMap& properties); + virtual void update(const QVariantMap& properties); protected: - void sync_call__(SignalProxy::ProxyMode modeType, const char *funcname, ...) const; - - void renameObject(const QString &newName); - SyncableObject &operator=(const SyncableObject &other); + void sync_call__(SignalProxy::ProxyMode modeType, const char* funcname, ...) const; signals: void initDone(); @@ -104,15 +99,17 @@ signals: void updated(); private: - void synchronize(SignalProxy *proxy); - void stopSynchronize(SignalProxy *proxy); + void synchronize(SignalProxy* proxy); + void stopSynchronize(SignalProxy* proxy); - bool setInitValue(const QString &property, const QVariant &value); + bool setInitValue(const QString& property, const QVariant& value); - bool _initialized; - bool _allowClientUpdates; +private: + QString _objectName; + bool _initialized{false}; + bool _allowClientUpdates{false}; - QList _signalProxies; + QList _signalProxies; friend class SignalProxy; };