summaryrefslogtreecommitdiffstats
path: root/arts/knotify/knotify.h
diff options
context:
space:
mode:
Diffstat (limited to 'arts/knotify/knotify.h')
-rw-r--r--arts/knotify/knotify.h111
1 files changed, 111 insertions, 0 deletions
diff --git a/arts/knotify/knotify.h b/arts/knotify/knotify.h
new file mode 100644
index 00000000..c98be2e9
--- /dev/null
+++ b/arts/knotify/knotify.h
@@ -0,0 +1,111 @@
+/*
+ Copyright (c) 1997 Christian Esken (esken@kde.org)
+
+ This program 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, or (at your option)
+ any later version.
+
+ 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+*/
+
+#ifndef KNOTIFY_H
+#define KNOTIFY_H
+
+#include <qobject.h>
+#include <knotifyclient.h>
+#include <dcopobject.h>
+
+class KNotifyPrivate;
+class KProcess;
+class KConfig;
+
+class KNotify : public QObject, public DCOPObject
+{
+Q_OBJECT
+K_DCOP
+
+public:
+ KNotify( bool useArts );
+ ~KNotify();
+
+ enum PlayingFinishedStatus
+ {
+ PlayedOK = 0, // success, all following mean failure
+ NoSoundFile,
+ FileAlreadyPlaying,
+ NoSoundSupport,
+ PlayerBusy,
+ Aborted,
+ Unknown = 5000
+ };
+
+protected:
+k_dcop:
+ // deprecated
+ void notify(const QString &event, const QString &fromApp,
+ const QString &text, QString sound, QString file,
+ int present, int level);
+
+ // deprecated
+ void notify(const QString &event, const QString &fromApp,
+ const QString &text, QString sound, QString file,
+ int present, int level, int winId);
+
+ void notify(const QString &event, const QString &fromApp,
+ const QString &text, QString sound, QString file,
+ int present, int level, int winId, int eventId);
+
+
+ void reconfigure();
+ void setVolume( int volume );
+ void sessionReady(); // from ksmserver
+
+private:
+ bool notifyBySound(const QString &sound, const QString &appname, int eventId);
+ bool notifyByMessagebox(const QString &text, int level, WId winId);
+ bool notifyByLogfile(const QString &text, const QString &file);
+ bool notifyByStderr(const QString &text);
+ bool notifyByPassivePopup(const QString &text, const QString &appName,
+ KConfig* eventsFile, WId winId );
+ bool notifyByExecute(const QString &command,
+ const QString& event,
+ const QString& fromApp,
+ const QString& text,
+ int winId,
+ int eventId );
+ bool notifyByTaskbar( WId winId );
+
+ bool isPlaying( const QString& soundFile ) const;
+
+ void soundFinished( int eventId, PlayingFinishedStatus reason );
+ void abortFirstPlayObject();
+
+ WId checkWinId( const QString& appName, WId senderWinId );
+
+ /**
+ * checks if eventname is a global event (exists in config/eventsrc)
+ **/
+ bool isGlobal(const QString &eventname);
+
+private slots:
+ void playTimeout();
+ void slotPlayerProcessExited( KProcess *proc );
+ void restartedArtsd();
+
+private:
+ KNotifyPrivate* d;
+ void loadConfig();
+};
+
+
+#endif
+