MCPcopy Create free account
hub / github.com/PolyMC/PolyMC / fromTraditionalApp

Method fromTraditionalApp

libraries/LocalPeer/src/LocalPeer.cpp:69–97  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

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

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