X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcommon%2Fsyncableobject.h;h=482470a51ae3d41170031f5706f21bc44e830373;hp=388ed90ac27c1b1c518f443e319d8694a9b1fb24;hb=39c9cfeeb71c0e39c4ed12eeead9d5d808895b6d;hpb=8ec76e512d20ce5d1dc76de556bb98a06b75d695 diff --git a/src/common/syncableobject.h b/src/common/syncableobject.h index 388ed90a..482470a5 100644 --- a/src/common/syncableobject.h +++ b/src/common/syncableobject.h @@ -45,31 +45,40 @@ public: * \return The object's state in a QVariantMap */ virtual QVariantMap toVariantMap(); - + //! Initialize the object's state from a given QVariantMap. /** \see toVariantMap() for important information concerning this method. */ - virtual void fromVariantMap(const QVariantMap &map); + virtual void fromVariantMap(const QVariantMap &properties); virtual bool isInitialized() const; 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); + void update(const QVariantMap &properties); protected: void renameObject(const QString &newName); - + SyncableObject &operator=(const SyncableObject &other); + signals: void initDone(); void updatedRemotely(); + void updated(const QVariantMap &properties); + void updateRequested(const QVariantMap &properties); void objectRenamed(QString newName, QString oldName); private: bool setInitValue(const QString &property, const QVariant &value); - + bool _initialized; + bool _allowClientUpdates; };