X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcommon%2Fsyncableobject.h;h=04ba44ba560abc9fc25cca2e1f3ff00a69ba55ee;hp=4ce8c91de647c2661a93e8108f9fa7ea49dd9b08;hb=d1b6499b0b848d4287efae89107576548533502c;hpb=2e6dc76ae100a6b8e1b1661e422995f90083500e diff --git a/src/common/syncableobject.h b/src/common/syncableobject.h index 4ce8c91d..04ba44ba 100644 --- a/src/common/syncableobject.h +++ b/src/common/syncableobject.h @@ -37,10 +37,11 @@ class SyncableObject : public QObject { /** The default implementation takes dynamic properties as well as getters that have * names starting with "init" and stores them in a QVariantMap. Override this method in * derived classes in order to store the object state in a custom form. - * \Note: This is used by SignalProxy to transmit the state of the object to clients + * \note This is used by SignalProxy to transmit the state of the object to clients * that request the initial object state. Later updates use a different mechanism * and assume that the state is completely covered by properties and init* getters. * DO NOT OVERRIDE THIS unless you know exactly what you do! + * * \return The object's state in a QVariantMap */ virtual QVariantMap toVariantMap(); @@ -50,9 +51,20 @@ class SyncableObject : public QObject { */ virtual void fromVariantMap(const QVariantMap &map); + virtual bool isInitialized() const; + + public slots: + virtual void setInitialized(); + + signals: + void initDone(); + void updatedRemotely(); + private: bool setInitValue(const QString &property, const QVariant &value); + bool _initialized; + }; #endif