History

adding working version with networking signals

Wayne Chen committed 8 years ago

Commit c95cb971 parent b6d23847 files · +689 −632Browse files

Showing the changes to interface/src/Application.cpp (1 of 7 files). Show all

Unified · Split

interface/src/Application.cpp+20−11
@@ -1185,6 +1185,7 @@ Application::Application(int& argc, char** argv, QElapsedTimer& startupTimer, bo · 1184 unmodified lines
11851185 const DomainHandler& domainHandler = nodeList->getDomainHandler();
11861186
11871187 connect(&domainHandler, SIGNAL(domainURLChanged(QUrl)), SLOT(domainURLChanged(QUrl)));
1188+ connect(&domainHandler, SIGNAL(redirectToErrorDomainURL(QUrl)), SLOT(goToErrorDomainURL(QUrl)));
11881189 connect(&domainHandler, &DomainHandler::domainURLChanged, [](QUrl domainURL){
11891190 setCrashAnnotation("domain", domainURL.toString().toStdString());
11901191 });
@@ -2251,6 +2252,7 @@ Application::Application(int& argc, char** argv, QElapsedTimer& startupTimer, bo · 1060 unmodified lines
22512252
22522253 connect(this, &QCoreApplication::aboutToQuit, this, &Application::addAssetToWorldMessageClose);
22532254 connect(&domainHandler, &DomainHandler::domainURLChanged, this, &Application::addAssetToWorldMessageClose);
2255+ connect(&domainHandler, &DomainHandler::redirectToErrorDomainURL, this, &Application::addAssetToWorldMessageClose);
22542256
22552257 updateSystemTabletMode();
22562258
@@ -2343,14 +2345,6 @@ void Application::domainConnectionRefused(const QString& reasonMessage, int reas · 86 unmodified lines
23432345 }
23442346 }
23452347
2346−void Application::domainConnectionRedirect() {
2347− auto addressManager = DependencyManager::get<AddressManager>();
2348−
2349− addressManager->handleLookupString(REDIRECT_HIFI_ADDRESS);
2350− getMyAvatar()->setWorldVelocity(glm::vec3(0.0f));
2351−}
2352−
2353−
23542348 QString Application::getUserAgent() {
23552349 if (QThread::currentThread() != thread()) {
23562350 QString userAgent;
@@ -3481,7 +3475,7 @@ void Application::setIsServerlessMode(bool serverlessDomain) { · 1124 unmodified lines
34813475 }
34823476 }
34833477
3484−void Application::loadServerlessDomain(QUrl domainURL) {
3478+void Application::loadServerlessDomain(QUrl domainURL, bool errorDomain) {
34853479 if (QThread::currentThread() != thread()) {
34863480 QMetaObject::invokeMethod(this, "loadServerlessDomain", Q_ARG(QUrl, domainURL));
34873481 return;
@@ -3515,8 +3509,11 @@ void Application::loadServerlessDomain(QUrl domainURL) { · 27 unmodified lines
35153509 }
35163510
35173511 std::map<QString, QString> namedPaths = tmpTree->getNamedPaths();
3518− nodeList->getDomainHandler().connectedToServerless(namedPaths);
3519−
3512+ if (errorDomain) {
3513+ nodeList->getDomainHandler().loadedErrorDomain(namedPaths);
3514+ } else {
3515+ nodeList->getDomainHandler().connectedToServerless(namedPaths);
3516+ }
35203517
35213518 _fullSceneReceivedCounter++;
35223519 }
@@ -6381,6 +6378,7 @@ void Application::clearDomainAvatars() { · 2858 unmodified lines
63816378 void Application::domainURLChanged(QUrl domainURL) {
63826379 // disable physics until we have enough information about our new location to not cause craziness.
63836380 resetPhysicsReadyInformation();
6381+ auto urlStr = domainURL.toString().toStdString();
63846382 setIsServerlessMode(domainURL.scheme() != URL_SCHEME_HIFI);
63856383 if (isServerlessMode()) {
63866384 loadServerlessDomain(domainURL);
@@ -6388,6 +6386,17 @@ void Application::domainURLChanged(QUrl domainURL) { · 1 unmodified line
63886386 updateWindowTitle();
63896387 }
63906388
6389+void Application::goToErrorDomainURL(QUrl errorDomainURL) {
6390+ // disable physics until we have enough information about our new location to not cause craziness.
6391+ resetPhysicsReadyInformation();
6392+ auto urlStr = errorDomainURL.toString().toStdString();
6393+ setIsServerlessMode(errorDomainURL.scheme() != URL_SCHEME_HIFI);
6394+ if (isServerlessMode()) {
6395+ loadServerlessDomain(errorDomainURL, true);
6396+ }
6397+ updateWindowTitle();
6398+}
6399+
63916400
63926401 void Application::resettingDomain() {
63936402 _notifiedPacketVersionMismatchThisDomain = false;