новые иконки в OpenBoard
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
OpenBoard/src/adaptors/voting/UBAbstractVotingSystem.h

75 lines
1.3 KiB

/*
* UBAbstractVotingSystem.h
*
* Created on: 12 feb. 2010
* Author: Luc
*/
#ifndef UBABSTRACTVOTINGSYSTEM_H_
#define UBABSTRACTVOTINGSYSTEM_H_
#include <QtCore>
#include "core/UBApplication.h"
class UBAbstractVotingSystem : public QObject
{
Q_OBJECT;
Q_PROPERTY(QString lastError READ lastError);
public:
UBAbstractVotingSystem(QObject *parent = 0);
virtual ~UBAbstractVotingSystem();
virtual bool connectToVotingSystem() = 0;
virtual bool startPolling() = 0;
virtual bool stopPolling() = 0;
virtual bool disconnectFromVotingSystem() = 0;
virtual QMap<int, int> votingState() = 0;
QString lastError() const
{
return mLastError;
}
signals:
void voteReceived(int keypadID, int value);
void errorReceived(const QString& error);
protected:
void setLastError(QString pLastError);
private:
QString mLastError;
};
class UBVotingSystemFactory : public QObject
{
private:
UBVotingSystemFactory()
{
// NOOP
}
~UBVotingSystemFactory()
{
// NOOP
}
public:
static UBAbstractVotingSystem* createVotingSystem();
};
#endif /* UBABSTRACTVOTINGSYSTEM_H_ */