/* 
 * This file is part of DesktopBSD, see the README file.
 *
 * Author: Peter Hofer <ph@desktopbsd.net>
 *         (C) 2004, 2005
 *
 * Copyright: BSD, see the COPYING file included in this distribution
 *
 */

#ifndef __NOTIFY_H
#define __NOTIFY_H

#include <dcopobject.h>

#include <qmap.h>
#include <qstring.h>
#include <qpixmap.h>

#define K_DCOP_OBJID "Notify"

class DevdListener : public QObject, virtual public DCOPObject
{
   Q_OBJECT
   K_DCOP
         
public:
   DevdListener();
   
k_dcop:
   virtual  void  attachDevice(const QString &);
   virtual  void  detachDevice(const QString &);
   virtual  void  acpiLineStateChanged(const QString & state);
   virtual  void  acpiTemperatureCritical();

public slots:
	void  launchKControl();

protected:
	void passivePopup(const QString & text, const QString & title = "", int timeout = -1);
   
private:
   /** Device descriptions are stored here because
     * the dev.[name].[no].* sysctls are already
     * deleted when detachDevice() is called.
     */
   QMap <QString, QString>  devDescs;
};

#endif /* __NOTIFY_H */
