#include "signalproxy.h"
#include "util.h"
+INIT_SYNCABLE_OBJECT(SyncableObject)
SyncableObject::SyncableObject(QObject *parent)
: QObject(parent),
_initialized(false),
}
SyncableObject::~SyncableObject() {
- QList<SignalProxy *> proxies = _signalProxies;
- _signalProxies.clear();
- for(int i = 0; i < proxies.count(); i++) {
- proxies[i]->stopSynchronize(this);
+ QList<SignalProxy *>::iterator proxyIter = _signalProxies.begin();
+ while(proxyIter != _signalProxies.end()) {
+ SignalProxy *proxy = (*proxyIter);
+ proxyIter = _signalProxies.erase(proxyIter);
+ proxy->stopSynchronize(this);
}
}
void SyncableObject::update(const QVariantMap &properties) {
fromVariantMap(properties);
- emit updated(properties);
+ SYNC(ARG(properties))
+ emit updated();
}
void SyncableObject::requestUpdate(const QVariantMap &properties) {
if(allowClientUpdates()) {
update(properties);
}
- emit updateRequested(properties);
+ REQUEST(ARG(properties))
}
void SyncableObject::sync_call__(SignalProxy::ProxyMode modeType, const char *funcname, ...) const {