summaryrefslogtreecommitdiff
path: root/libsowatch/watchplugininterface.h
blob: 0ab2c4be8f42e0bce6f767dc72b7d3abbe47cb57 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#ifndef SOWATCH_WATCHPLUGININTERFACE_H
#define SOWATCH_WATCHPLUGININTERFACE_H

#include <QtPlugin>
#include <QtCore/QVariantMap>
#include <QtCore/QStringList>
#include "sowatch_global.h"

namespace sowatch
{

class Watch;
class WatchScanner;
class ConfigKey;

class SOWATCH_EXPORT WatchPluginInterface
{
public:
	virtual ~WatchPluginInterface();

	virtual QStringList drivers() = 0;
	virtual WatchScanner* getScanner(QObject *parent = 0) = 0;
	virtual QUrl getConfigQmlUrl(const QString& driver) = 0;
	virtual Watch* getWatch(const QString& driver, ConfigKey* settings, QObject *parent = 0) = 0;
};

}

Q_DECLARE_INTERFACE(sowatch::WatchPluginInterface, "com.javispedro.sowatch.WatchPluginInterface")

#endif // SOWATCH_WATCHPLUGININTERFACE_H