proxy()->detachObject(parent());
proxy()->detachObject(this);
attach();
- if(proxy()->proxyType() == SignalProxy::Client && initialized())
- proxy()->detachObject(this);
}
// ====================
}
void Synchronizer::attach() {
- if(proxy()->proxyType() == SignalProxy::Server)
+ if(proxy()->proxyMode() == SignalProxy::Server)
attachAsMaster();
else
attachAsSlave();
}
}
- // and then we connect ourself, so we can receive init data
- // qDebug() << "attachSlot:" << initSignal() << "recvInitData(QVariantMap)";
- // qDebug() << "attachSignal:" << "requestSync()" << requestSyncSignal();
- proxy()->attachSlot(initSignal().toAscii(), this, SLOT(recvInitData(QVariantMap)));
- proxy()->attachSignal(this, SIGNAL(requestSync()), requestSyncSignal().toAscii());
-
if(!getMethodByName("setInitialized()").isEmpty())
connect(this, SIGNAL(initDone()), parent(), SLOT(setInitialized()));
- emit requestSync();
+ if(!initialized()) {
+ // and then we connect ourself, so we can receive init data
+ // qDebug() << "attachSlot:" << initSignal() << "recvInitData(QVariantMap)";
+ // qDebug() << "attachSignal:" << "requestSync()" << requestSyncSignal();
+ proxy()->attachSlot(initSignal().toAscii(), this, SLOT(recvInitData(QVariantMap)));
+ proxy()->attachSignal(this, SIGNAL(requestSync()), requestSyncSignal().toAscii());
+
+ emit requestSync();
+ }
}
void Synchronizer::attachAsMaster() {
QGenericArgument param = QGenericArgument(paramtype, &value);
return QMetaObject::invokeMethod(parent(), handlername.toAscii(), param);
}
+
+