/* * * Notification DBus Service implementation * * Copyright (C) 2021 Emanoil Kotsev * * * This file is part of kdbusnotification. * * kdbusnotification is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * kdbusnotification 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 kdbusnotification; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA * */ #ifndef NOTIFICATIONSSERVICE_H_ #define NOTIFICATIONSSERVICE_H_ #include #include #include #include #include "notificationsInterface.h" #include "NotifyWidget.h" class NotificationsService: public org::freedesktop::NotificationsInterface { public: NotificationsService(TQT_DBusConnection&); virtual ~NotificationsService(); void closeNotifyWidget(TQ_UINT32 id, TQ_UINT32 reason); protected: // implement sending signals virtual bool handleSignalSend(const TQT_DBusMessage& reply); virtual TQString objectPath() const; protected: virtual bool GetCapabilities(TQStringList& return_caps, TQT_DBusError& error); virtual void CloseNotificationAsync(int asyncCallId, TQ_UINT32 id); virtual bool ReloadSettings(TQT_DBusError& error); virtual bool GetServerInformation(TQString& return_name, TQString& return_vendor, TQString& return_version, TQString& return_spec_version, TQT_DBusError& error); virtual void NotifyAsync(int asyncCallId, const TQString& app_name, TQ_UINT32 id, const TQString& icon, const TQString& summary, const TQString& body, const TQStringList& actions, const TQMap< TQString, TQT_DBusVariant >& hints, TQ_INT32 timeout); protected: // implement sending replies virtual void handleMethodReply(const TQT_DBusMessage& reply); private: TQT_DBusConnection *mConnection; TQMap notificationMap; }; #endif /* NOTIFICATIONSSERVICE_H_ */