X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcommon%2Fsyncableobject.h;h=04ba44ba560abc9fc25cca2e1f3ff00a69ba55ee;hp=f89c1680040ca3839af9845f31bf0146abf325ed;hb=d1b6499b0b848d4287efae89107576548533502c;hpb=b797e5f581b10a517c30f78cb53f813af741e261 diff --git a/src/common/syncableobject.h b/src/common/syncableobject.h index f89c1680..04ba44ba 100644 --- a/src/common/syncableobject.h +++ b/src/common/syncableobject.h @@ -37,27 +37,34 @@ 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(); //! Initialize the object's state from a given QVariantMap. - /** \see toVarianMap() for important information concerning this method. + /** \see toVariantMap() for important information concerning this method. */ 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); -}; - -QDataStream &operator<<(QDataStream &out, SyncableObject object); -QDataStream &operator>>(QDataStream &in, SyncableObject &object); + bool _initialized; -Q_DECLARE_METATYPE(SyncableObject); +}; #endif