DbusService.h 941 B

1234567891011121314151617181920212223242526272829303132333435
  1. #ifndef DBUSSERVICE_H
  2. #define DBUSSERVICE_H
  3. #include <QObject>
  4. #include <QScopedPointer>
  5. #include <QCoreApplication>
  6. class DbusServicePrivate;
  7. class DbusService : public QObject
  8. {
  9. Q_OBJECT
  10. Q_DISABLE_COPY(DbusService)
  11. #ifdef g_DbusService
  12. #undef g_DbusService
  13. #endif
  14. #define g_DbusService (DbusService::instance())
  15. public:
  16. inline static DbusService* instance() {
  17. static DbusService* dbusService(new DbusService(qApp));
  18. return dbusService;
  19. }
  20. bool startService(const QString& service);
  21. void addWatchedService(const QString &service);
  22. bool removeWatchedService(const QString &service);
  23. signals:
  24. void onServiceRegistered(const QString &service);
  25. void onServiceUnregistered(const QString &service);
  26. private:
  27. explicit DbusService(QObject* parent = NULL);
  28. ~DbusService();
  29. friend class DbusServicePrivate;
  30. QScopedPointer<DbusServicePrivate> m_Private;
  31. };
  32. #endif // DBUSSERVICE_H