/** 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