add domain connection reset to NodeList reset

This commit is contained in:
Stephen Birarda 2014-02-24 13:33:52 -08:00
parent 27c779666b
commit 050d223b3a
4 changed files with 23 additions and 7 deletions

View file

@ -205,6 +205,5 @@ void AssignmentClient::assignmentCompleted() {
// reset our NodeList by switching back to unassigned and clearing the list // reset our NodeList by switching back to unassigned and clearing the list
nodeList->setOwnerType(NodeType::Unassigned); nodeList->setOwnerType(NodeType::Unassigned);
nodeList->reset(); nodeList->reset();
nodeList->getDomainInfo().reset();
nodeList->resetNodeInterestSet(); nodeList->resetNodeInterestSet();
} }

View file

@ -26,11 +26,8 @@ DomainInfo::DomainInfo() :
connect(&AccountManager::getInstance(), &AccountManager::logoutComplete, this, &DomainInfo::logout); connect(&AccountManager::getInstance(), &AccountManager::logoutComplete, this, &DomainInfo::logout);
} }
void DomainInfo::reset() { void DomainInfo::clearConnectionInfo() {
_uuid = QUuid(); _uuid = QUuid();
_hostname = QString();
_sockAddr.setAddress(QHostAddress::Null);
_assignmentUUID = QUuid();
_connectionSecret = QUuid(); _connectionSecret = QUuid();
_registrationToken = QByteArray(); _registrationToken = QByteArray();
_rootAuthenticationURL = QUrl(); _rootAuthenticationURL = QUrl();
@ -38,6 +35,12 @@ void DomainInfo::reset() {
_isConnected = false; _isConnected = false;
} }
void DomainInfo::reset() {
clearConnectionInfo();
_hostname = QString();
_sockAddr.setAddress(QHostAddress::Null);
}
void DomainInfo::parseAuthInformationFromJsonObject(const QJsonObject& jsonObject) { void DomainInfo::parseAuthInformationFromJsonObject(const QJsonObject& jsonObject) {
QJsonObject dataObject = jsonObject["data"].toObject(); QJsonObject dataObject = jsonObject["data"].toObject();
_connectionSecret = QUuid(dataObject["connection_secret"].toString()); _connectionSecret = QUuid(dataObject["connection_secret"].toString());
@ -45,6 +48,15 @@ void DomainInfo::parseAuthInformationFromJsonObject(const QJsonObject& jsonObjec
_publicKey = dataObject["public_key"].toString(); _publicKey = dataObject["public_key"].toString();
} }
void DomainInfo::setSockAddr(const HifiSockAddr& sockAddr) {
if (_sockAddr != sockAddr) {
// we should reset on a sockAddr change
reset();
// change the sockAddr
_sockAddr = sockAddr;
}
}
void DomainInfo::setHostname(const QString& hostname) { void DomainInfo::setHostname(const QString& hostname) {
if (hostname != _hostname) { if (hostname != _hostname) {

View file

@ -24,7 +24,7 @@ class DomainInfo : public QObject {
public: public:
DomainInfo(); DomainInfo();
void reset(); void clearConnectionInfo();
void parseAuthInformationFromJsonObject(const QJsonObject& jsonObject); void parseAuthInformationFromJsonObject(const QJsonObject& jsonObject);
@ -38,7 +38,7 @@ public:
void setIPToLocalhost() { _sockAddr.setAddress(QHostAddress(QHostAddress::LocalHost)); } void setIPToLocalhost() { _sockAddr.setAddress(QHostAddress(QHostAddress::LocalHost)); }
const HifiSockAddr& getSockAddr() { return _sockAddr; } const HifiSockAddr& getSockAddr() { return _sockAddr; }
void setSockAddr(const HifiSockAddr& sockAddr) { _sockAddr = sockAddr; } void setSockAddr(const HifiSockAddr& sockAddr);
unsigned short getPort() const { return _sockAddr.getPort(); } unsigned short getPort() const { return _sockAddr.getPort(); }
@ -64,6 +64,8 @@ signals:
void hostnameChanged(const QString& hostname); void hostnameChanged(const QString& hostname);
void connectedToDomain(const QString& hostname); void connectedToDomain(const QString& hostname);
private: private:
void reset();
QUuid _uuid; QUuid _uuid;
QString _hostname; QString _hostname;
HifiSockAddr _sockAddr; HifiSockAddr _sockAddr;

View file

@ -328,6 +328,9 @@ void NodeList::reset() {
// refresh the owner UUID to the NULL UUID // refresh the owner UUID to the NULL UUID
setSessionUUID(QUuid()); setSessionUUID(QUuid());
// clear the domain connection information
_domainInfo.clearConnectionInfo();
} }
void NodeList::addNodeTypeToInterestSet(NodeType_t nodeTypeToAdd) { void NodeList::addNodeTypeToInterestSet(NodeType_t nodeTypeToAdd) {