Phosphor
Qt6 / Wayland library suite for window-management tools
 
Loading...
Searching...
No Matches
ScreenId.h File Reference
#include <QByteArray>
#include <QCoreApplication>
#include <QDir>
#include <QFile>
#include <QHash>
#include <QIODevice>
#include <QLatin1Char>
#include <QLatin1String>
#include <QString>
#include <QStringList>
#include <QThread>
#include <cstdint>

Go to the source code of this file.

Namespaces

namespace  PhosphorIdentity
 
namespace  PhosphorIdentity::ScreenId
 Compositor-agnostic EDID parsing and screen-ID construction.
 
namespace  PhosphorIdentity::ScreenId::detail
 

Functions

QHash< QString, QString > & PhosphorIdentity::ScreenId::detail::edidSerialCache ()
 
QHash< QString, int > & PhosphorIdentity::ScreenId::detail::edidMissCounter ()
 
void PhosphorIdentity::ScreenId::detail::assertMainThread ()
 Debug-build enforcement of the documented single-thread contract: the function-local-static caches are mutated without synchronisation, so every public entry point must run on the application (GUI/main) thread.
 
QString PhosphorIdentity::ScreenId::readEdidHeaderSerial (const QString &connectorName)
 Read the EDID header serial from sysfs for a DRM connector.
 
void PhosphorIdentity::ScreenId::invalidateEdidCache (const QString &connectorName=QString())
 Drop cached EDID serial data.
 
QString PhosphorIdentity::ScreenId::normalizeHexSerial (const QString &serial)
 Coerce a possibly-hex serial ("0x0001C1A3") to decimal ("115107").
 
QString PhosphorIdentity::ScreenId::buildBaseId (const QString &manufacturer, const QString &model, const QString &serial)
 Assemble a base identifier from EDID-style fields.
 
QString PhosphorIdentity::ScreenId::buildScreenBaseId (const QString &manufacturer, const QString &model, const QString &serialNumber, const QString &connectorName)
 Build a base ID from raw EDID fields, sysfs serial authoritative.