MCPcopy Create free account
hub / github.com/MultiMC/Launcher / fromTraditionalApp

Method fromTraditionalApp

libraries/LocalPeer/src/LocalPeer.cpp:68–96  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

66static const char* ack = "ack";
67
68ApplicationId ApplicationId::fromTraditionalApp()
69{
70 QString protoId = QCoreApplication::applicationFilePath();
71#if defined(Q_OS_WIN)
72 protoId = protoId.toLower();
73#endif
74 auto prefix = protoId.section(QLatin1Char('/'), -1);
75 prefix.remove(QRegExp("[^a-zA-Z]"));
76 prefix.truncate(6);
77 QByteArray idc = protoId.toUtf8();
78 quint16 idNum = qChecksum(idc.constData(), idc.size());
79 auto socketName = QLatin1String("qtsingleapp-") + prefix + QLatin1Char('-') + QString::number(idNum, 16);
80#if defined(Q_OS_WIN)
81 if (!pProcessIdToSessionId)
82 {
83 QLibrary lib("kernel32");
84 pProcessIdToSessionId = (PProcessIdToSessionId)lib.resolve("ProcessIdToSessionId");
85 }
86 if (pProcessIdToSessionId)
87 {
88 DWORD sessionId = 0;
89 pProcessIdToSessionId(GetCurrentProcessId(), &sessionId);
90 socketName += QLatin1Char('-') + QString::number(sessionId, 16);
91 }
92#else
93 socketName += QLatin1Char('-') + QString::number(::getuid(), 16);
94#endif
95 return ApplicationId(socketName);
96}
97
98ApplicationId ApplicationId::fromPathAndVersion(const QString& dataPath, const QString& version)
99{

Callers

nothing calls this directly

Calls 4

ApplicationIdClass · 0.85
removeMethod · 0.45
sizeMethod · 0.45
resolveMethod · 0.45

Tested by

no test coverage detected