Changeset View
Changeset View
Standalone View
Standalone View
lib/mpris2/mpris2service.cpp
Show All 21 Lines | |||||
22 | // lib | 22 | // lib | ||
23 | #include "lockscreenwatcher.h" | 23 | #include "lockscreenwatcher.h" | ||
24 | #include "mprismediaplayer2.h" | 24 | #include "mprismediaplayer2.h" | ||
25 | #include "mprismediaplayer2player.h" | 25 | #include "mprismediaplayer2player.h" | ||
26 | #include <slideshow.h> | 26 | #include <slideshow.h> | ||
27 | // Qt | 27 | // Qt | ||
28 | #include <QDBusConnection> | 28 | #include <QDBusConnection> | ||
29 | // std | 29 | // std | ||
30 | #ifdef WIN32 | ||||
31 | #include <process.h> | ||||
32 | #else | ||||
30 | #include <unistd.h> | 33 | #include <unistd.h> | ||
34 | #endif | ||||
31 | 35 | | |||
32 | namespace Gwenview | 36 | namespace Gwenview | ||
33 | { | 37 | { | ||
34 | 38 | | |||
35 | inline QString mediaPlayer2ObjectPath() { return QStringLiteral("/org/mpris/MediaPlayer2"); } | 39 | inline QString mediaPlayer2ObjectPath() { return QStringLiteral("/org/mpris/MediaPlayer2"); } | ||
36 | 40 | | |||
37 | 41 | | |||
38 | Mpris2Service::Mpris2Service(SlideShow* slideShow, ContextManager* contextManager, | 42 | Mpris2Service::Mpris2Service(SlideShow* slideShow, ContextManager* contextManager, | ||
Show All 36 Lines | 71 | { | |||
75 | // try to register MPRIS presentation service | 79 | // try to register MPRIS presentation service | ||
76 | if (objectRegistered) { | 80 | if (objectRegistered) { | ||
77 | mMpris2ServiceName = QStringLiteral("org.mpris.MediaPlayer2.Gwenview"); | 81 | mMpris2ServiceName = QStringLiteral("org.mpris.MediaPlayer2.Gwenview"); | ||
78 | 82 | | |||
79 | bool serviceRegistered = QDBusConnection::sessionBus().registerService(mMpris2ServiceName); | 83 | bool serviceRegistered = QDBusConnection::sessionBus().registerService(mMpris2ServiceName); | ||
80 | 84 | | |||
81 | // Perhaps not the first instance? Try again with another name, as specified by MPRIS2 spec: | 85 | // Perhaps not the first instance? Try again with another name, as specified by MPRIS2 spec: | ||
82 | if (!serviceRegistered) { | 86 | if (!serviceRegistered) { | ||
83 | mMpris2ServiceName = mMpris2ServiceName + QLatin1String(".instance") + QString::number(getpid()); | 87 | #ifdef WIN32 | ||
88 | const int pid = _getpid(); | ||||
kfunk: `QProcess::processId()`? | |||||
89 | #else | ||||
90 | const int pid = getpid(); | ||||
91 | #endif | ||||
92 | mMpris2ServiceName = mMpris2ServiceName + QLatin1String(".instance") + QString::number(pid); | ||||
84 | serviceRegistered = QDBusConnection::sessionBus().registerService(mMpris2ServiceName); | 93 | serviceRegistered = QDBusConnection::sessionBus().registerService(mMpris2ServiceName); | ||
85 | } | 94 | } | ||
86 | if (!serviceRegistered) { | 95 | if (!serviceRegistered) { | ||
87 | mMpris2ServiceName.clear(); | 96 | mMpris2ServiceName.clear(); | ||
88 | sessionBus.unregisterObject(mediaPlayer2ObjectPath()); | 97 | sessionBus.unregisterObject(mediaPlayer2ObjectPath()); | ||
89 | } | 98 | } | ||
90 | } | 99 | } | ||
91 | } | 100 | } | ||
Show All 22 Lines |
QProcess::processId()?