#ifndef watchit_h
#define watchit_h

#include <QObject>
#include <QString>
#include <QMultiHash>

// Class to watch for DeviceAdded messages on hal manager interface
//
class WatchIt : public QObject {

   Q_OBJECT

public:

   WatchIt(QString init_busName,
           QString init_service,
           QString init_path,
           QString init_interface,
           QString init_member);

   virtual
   ~WatchIt();

   void
   AddExec(QString string_arg, QString exec);

   static void
   ReadConfigFiles(QString configdir);

   static void
   AddWatch(QString busName, QString service, QString path, QString interface,
            QString member, QString string_arg, QString exec);

private slots:

   void
   SeeString(QString arg);

private:

   QString busName;
   QString service;
   QString path;
   QString interface;
   QString member;

   QMultiHash<QString, QString> exec_table;
};

#endif // watchit_h
