Workspace 6.21.5
Static Public Member Functions | List of all members
Utilities Class Reference

#include <Workspace/Application/System/systemutilities.h>

Static Public Member Functions

static QString convertToRelativePath (const QString &relativePath)
 
static QString downloadIfRemote (const QString &source, const QString &description, QString target=QString(), bool translateLineEndings=false, bool logInfo=true, bool logErrors=true, int timeoutMsec=20000)
 
static bool ensureFileExists (const QString &fileName, bool createFolder, QString &absoluteFilePath)
 
static bool ensureFileExists (const QString &fileName, bool createFolder=true)
 
static void ensureMiniDumpCapture ()
 
static void exitWithProcess (int processId)
 
static VisualStudioVersion getCompiledVersion ()
 
static QStringList getCurrentStack ()
 Get callstack of current thread.
 
static QMap< VisualStudioVersion, QString > getDefaultVsCmdPromptPathMap ()
 
static QMap< VisualStudioVersion, QString > getDefaultVsIdePathMap ()
 
static bool getListOfBackupFiles (QStringList &backupFiles, bool onlyNewFiles=true, QDir userDir=QDir(Application::Settings::getInstance().getBackupDirectory()))
 
static QStringList getMonitorSerialNumbers ()
 
static QString getPlatformArchitectureString ()
 
static QString getPlatformString ()
 
static QString getSystemIconPath ()
 
static QMap< VisualStudioProduct, QString > getVisualStudioProductMap ()
 
static QString getWorkspaceEditorBaseName ()
 
static VisualStudioVersion guessVisualStudioVersion (const QString &path)
 
static bool isApplicationWorkspaceEditor ()
 
static bool isCompilerVersionCompatible (const QString &v1, const QString &v2)
 
static bool isLocalFile (const QString &filename)
 
static bool isRemoteFile (const QString &filename)
 
static void requestTerminate (QProcess &process)
 
static QString resolveAbsoluteFilePath (const QString &filename)
 
static QString resolveVisualStudioPath (const QString &path)
 
static QString resolveVisualStudioPath (const QString &path, VisualStudioProduct product)
 
static void setSymbolPath (const QString &symbolpath)
 
static void setupMiniDumpCapture (const QString &filename, const QString &customTitle=QString::null, const QString &customDescription=QString::null)
 
static QString visualStudioProductToString (VisualStudioProduct product)
 
static QString visualStudioVersionToString (VisualStudioVersion version)
 

Member Function Documentation

◆ convertToRelativePath()

QString convertToRelativePath ( const QString &  relativePath)
static

◆ downloadIfRemote()

QString downloadIfRemote ( const QString &  source,
const QString &  description,
QString  target = QString(),
bool  translateLineEndings = false,
bool  logInfo = true,
bool  logErrors = true,
int  timeoutMsec = 20000 
)
static
Parameters
sourceThe filename to check. Filename can point to a local file or to a remote url (typically HTTP).
descriptionA description of the file being downloaded - used for provenance recording but can be left empty
targetIf source is remote then download file to this target file or directory if it is specified (otherwise use a temporary file)
translateLineEndingsConvert line endings (off by default)
logInfoDisplay Log messages (off by default)
logErrorsDisplay Error messages (on by default)
timeoutMsecTimeout in milliseconds after which to give up if connection could not be made
Returns
filename of local file – may be the same as source. If the file is remote and could not be downloaded then an empty string is return to indicate an error. Workspace relative paths ("ws:" prefix) will be returned as full resolved path

Takes a filename and determines if it is a local file or not. If it is remote then it downloads the file to the target if if it supplied. If target is empty then it creates a temporary. Line ending translation, logging and error reporting can be set, parameter have default values

◆ ensureFileExists() [1/2]

bool ensureFileExists ( const QString &  fileName,
bool  createFolder,
QString &  absoluteFilePath 
)
static
Parameters
fileNameThe filename to check.
createFolderCreate directory for file if not existing (true by default).
absoluteFilePathAbsolute path of the fileName
Returns
false if the file already exists and is not writable, or if failed to create the directory for it. Otherwise return true.

◆ ensureFileExists() [2/2]

bool ensureFileExists ( const QString &  fileName,
bool  createFolder = true 
)
static
Parameters
fileNameThe filename to check.
createFolderCreate directory for file if not existing (true by default).
Returns
false if the file already exists and is not writable, or if failed to create the directory for it. Otherwise return true.

◆ ensureMiniDumpCapture()

void ensureMiniDumpCapture ( )
static

◆ exitWithProcess()

void exitWithProcess ( int  processId)
static

◆ getCompiledVersion()

System::VisualStudioVersion getCompiledVersion ( )
static
Returns
The version of Visual Studio that the binary was compiled with.

◆ getCurrentStack()

QStringList getCurrentStack ( )
static
Returns
A list starting from the top of the callstack down.

◆ getDefaultVsCmdPromptPathMap()

QMap< System::VisualStudioVersion, QString > getDefaultVsCmdPromptPathMap ( )
static
Returns
A map object of Visual Studio versions to their respective default cmd prompt file path.

◆ getDefaultVsIdePathMap()

QMap< CSIRO::System::VisualStudioVersion, QString > getDefaultVsIdePathMap ( )
static
Returns
A map object of Visual Studio versions to their respective default IDE file path.

◆ getListOfBackupFiles()

bool getListOfBackupFiles ( QStringList backupFiles,
bool  onlyNewFiles = true,
QDir  userDir = QDir(Application::Settings::getInstance().getBackupDirectory()) 
)
static

◆ getMonitorSerialNumbers()

QStringList getMonitorSerialNumbers ( )
static

◆ getPlatformArchitectureString()

static QString getPlatformArchitectureString ( )
inlinestatic

◆ getPlatformString()

static QString getPlatformString ( )
inlinestatic

◆ getSystemIconPath()

QString getSystemIconPath ( )
static

◆ getVisualStudioProductMap()

QMap< VisualStudioProduct, QString > getVisualStudioProductMap ( )
static
Returns
A map object of Visual Studio products to string values.

◆ getWorkspaceEditorBaseName()

QString getWorkspaceEditorBaseName ( )
static

◆ guessVisualStudioVersion()

System::VisualStudioVersion guessVisualStudioVersion ( const QString &  path)
static
Parameters
pathA path to a file within the Visual Studio directory.
Returns
A guessed version of Visual Studio.

◆ isApplicationWorkspaceEditor()

bool isApplicationWorkspaceEditor ( )
static

◆ isCompilerVersionCompatible()

bool isCompilerVersionCompatible ( const QString &  v1,
const QString &  v2 
)
static

◆ isLocalFile()

bool isLocalFile ( const QString &  filename)
static

◆ isRemoteFile()

static bool isRemoteFile ( const QString &  filename)
inlinestatic

◆ requestTerminate()

void requestTerminate ( QProcess &  process)
static

◆ resolveAbsoluteFilePath()

QString resolveAbsoluteFilePath ( const QString &  filename)
static

◆ resolveVisualStudioPath() [1/2]

QString resolveVisualStudioPath ( const QString &  path)
static
Parameters
pathPath to a Visual Studio file or folder.

Visual studio default installation path since v2017 has changed so we will need to try all default install areas for each product type. We shall prefer the most expensive version available.

◆ resolveVisualStudioPath() [2/2]

QString resolveVisualStudioPath ( const QString &  path,
VisualStudioProduct  product 
)
static
Parameters
pathPath to a Visual Studio file or folder.
productVisual Studio product type.
Returns
A resolved path belonging to the specified product

◆ setSymbolPath()

static void setSymbolPath ( const QString &  symbolpath)
static

◆ setupMiniDumpCapture()

void setupMiniDumpCapture ( const QString &  filename,
const QString &  customTitle = QString::null,
const QString &  customDescription = QString::null 
)
static

◆ visualStudioProductToString()

QString visualStudioProductToString ( VisualStudioProduct  product)
static

◆ visualStudioVersionToString()

QString visualStudioVersionToString ( VisualStudioVersion  version)
static
Parameters
versionThe Visual Studio version.
Returns
The year of the Visual Studio version.