/*
    knetd, KDE Network Daemon

    Copyright (c) 2005 by Engin AYDOGAN		<engin @ bzzzt.biz>

    *************************************************************************
    *                                                                       *
    * 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 of the License, or     *
    * (at your option) any later version.                                   *
    *                                                                       *
    *************************************************************************
*/

#ifndef ABSTRACT_DEVICE_HOTPLUG_H_
#define ABSTRACT_DEVICE_HOTPLUG_H_

#include <qobject.h>
#include <qstringlist.h>

/**
 * This is the base class for hardware detection implementations.
 */
class AbstractDeviceHotplug : public QObject
{
Q_OBJECT
public:
	/**
	 * \return current device list
	 */
	virtual QStringList
	devices() const = 0;
public slots:
	/**
	 * Forces a device scan
	 */
	virtual QStringList
	probe() = 0;
signals:
	/**
	 * Emitted when a new device is found. Device name is provided.
	 */
	void deviceFound( const QString& );

	/**
	 * Emitted when a device is removed. Device name is provided.
	 */
	void deviceRemoved( const QString& );
};

#endif
