hapticsplugin: Only initialize dbus interface if used

Only create dbus interface when needed to avoid wasting resources.
This commit is contained in:
Devin Lin 2024-10-29 22:01:04 -07:00
parent 3fd81679ed
commit c4b49cf086
2 changed files with 6 additions and 3 deletions

View file

@ -6,11 +6,14 @@
VibrationManager::VibrationManager(QObject *parent)
: QObject{parent}
{
const auto objectPath = QStringLiteral("/com/lomiri/hfd");
m_interface = new com::lomiri::hfd::Vibrator("com.lomiri.hfd", objectPath, QDBusConnection::systemBus(), this);
}
void VibrationManager::vibrate(int durationMs)
{
// Only create interface when needed.
if (!m_interface) {
const auto objectPath = QStringLiteral("/com/lomiri/hfd");
m_interface = new com::lomiri::hfd::Vibrator("com.lomiri.hfd", objectPath, QDBusConnection::systemBus(), this);
}
m_interface->vibrate(durationMs);
}

View file

@ -20,5 +20,5 @@ public:
Q_INVOKABLE void vibrate(int durationMs);
private:
com::lomiri::hfd::Vibrator *m_interface;
com::lomiri::hfd::Vibrator *m_interface{nullptr};
};