/* * NotificationDaemon.h * * Copyright (C) 2021 Emanoil Kotsev * * * This file is part of kdbusnotification. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 * as published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #ifndef SRC_DAEMON_NOTIFICATIONDAEMON_H_ #define SRC_DAEMON_NOTIFICATIONDAEMON_H_ #include #include #include #include "notificationNodeService.h" class NotificationDaemon : public KUniqueApplication { Q_OBJECT public: NotificationDaemon(); virtual ~NotificationDaemon(); bool isConnectedToDBUS(); private slots: /*! * This function does a reconnect to D-Bus. * \return void */ void slotReconnect(); /*! * This function is to process D-Bus signals. * \return void */ void slotDbusSignal(const TQT_DBusMessage&); /*! * This function is to check D-Bus connection. * and if the name is the unique name prepare the receivers * If the name is not the unique name it mans the service * is already running or unique name can not be obtained from * DBus. In this latter case the application will terminate. * * \return void */ void slotConnectionCheck(); // void slotCloseNotification(const TQ_UINT32); private: /*! * This function initialise the connection to the D-Bus daemon. * \return boolean with the result of the operation * \retval true if successful initialised D-Bus connection * \retval false if unsuccessful */ bool initDBUS(); //! to close the connection to D-Bus void close(); private: RootNodeService *rootService; OrgNodeService *orgService; FreeDesktopNodeService *freedesktopService; NotificationsNodeService *notificationService; TQT_DBusConnection mConnection; int retryCount; TQString serviceName; }; #endif /* SRC_DAEMON_NOTIFICATIONDAEMON_H_ */