You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
o3de/Code/Tools/AssetProcessor/native/utilities/GUIApplicationServer.cpp

54 lines
2.1 KiB
C++

/*
* Copyright (c) Contributors to the Open 3D Engine Project.
* For complete copyright and license terms please see the LICENSE at the root of this distribution.
*
* SPDX-License-Identifier: Apache-2.0 OR MIT
*
*/
#include <native/utilities/GUIApplicationServer.h>
#include <AzFramework/API/ApplicationAPI.h>
#include "native/utilities/assetUtils.h"
GUIApplicationServer::GUIApplicationServer(QObject* parent)
: ApplicationServer(parent)
{
}
GUIApplicationServer::~GUIApplicationServer()
{
}
bool GUIApplicationServer::startListening(unsigned short port)
{
if (!isListening())
{
const AzFramework::CommandLine* commandLine = nullptr;
AzFramework::ApplicationRequests::Bus::BroadcastResult(commandLine, &AzFramework::ApplicationRequests::GetCommandLine);
bool randomPort = commandLine && commandLine->HasSwitch(ApplicationServer::RandomListeningPortOption);
if (port == 0 && !randomPort)
{
quint16 listeningPort = AssetUtilities::ReadListeningPortFromSettingsRegistry();
m_serverListeningPort = static_cast<int>(listeningPort);
}
else
{
// override the port
m_serverListeningPort = port;
}
if (!listen(QHostAddress::Any, aznumeric_cast<quint16>(m_serverListeningPort)))
{
AZ_Error(AssetProcessor::ConsoleChannel, false, "Cannot start Asset Processor server - another instance of the Asset Processor may already be running on port number %d. If you'd like to run multiple Asset Processors on different branches at the same time, please edit bootstrap.cfg and assign different remote_port values to each branch instance.\n", m_serverListeningPort);
return false;
}
m_serverListeningPort = serverPort();
AZ_TracePrintf(AssetProcessor::ConsoleChannel, "Listening Port: %d\n", m_serverListeningPort);
ApplicationServerBus::Handler::BusConnect();
AZ_TracePrintf(AssetProcessor::DebugChannel, "Asset Processor server listening on port %d\n", m_serverListeningPort);
}
return true;
}