This repository has been archived on 2024-06-03. You can view files and clone it, but cannot push or open issues or pull requests.
app/headers/scstwappbackend.h

55 lines
1.3 KiB
C
Raw Normal View History

#ifndef SCSTWAPPBACKEND_H
#define SCSTWAPPBACKEND_H
#include <QObject>
#include <scstwclient.h>
#include <scstwrace.h>
#include <ScStw.hpp>
2020-10-02 19:58:25 +02:00
#include <scstwremoterace.h>
2020-07-06 15:04:02 +02:00
#include "headers/scstwappsettings.h"
2020-04-19 13:09:46 +02:00
class ScStwAppBackend : public QObject
{
Q_OBJECT
Q_PROPERTY(ScStwRace* race READ getRace NOTIFY raceChanged)
2020-04-19 13:09:46 +02:00
Q_PROPERTY(ScStwClient *scStwClient READ getScStwClient NOTIFY scStwClientChanged)
2020-07-06 15:04:02 +02:00
Q_PROPERTY(ScStwAppSettings *settings READ getSettings NOTIFY settingsChanged)
public:
explicit ScStwAppBackend(QObject *parent = nullptr);
private:
2020-07-06 15:04:02 +02:00
ScStwAppSettings * appSettings;
ScStwClient * scStwClient;
QTimer * timerTextRefreshTimer;
ScStwRemoteRace * race;
public slots:
// functions for qml
Q_INVOKABLE ScStwRace *getRace();
2020-04-19 13:09:46 +02:00
Q_INVOKABLE ScStwClient *getScStwClient();
2020-07-06 15:04:02 +02:00
Q_INVOKABLE ScStwAppSettings *getSettings();
// athlete management
Q_INVOKABLE QVariant getAthletes();
Q_INVOKABLE bool createAthlete( QString userName, QString fullName );
Q_INVOKABLE bool deleteAthlete( QString userName );
Q_INVOKABLE bool selectAthlete( QString userName, int timerId );
Q_INVOKABLE QVariant getResults( QString userName );
private slots:
void refreshTimerText();
signals:
void raceChanged();
2020-04-19 13:09:46 +02:00
void scStwClientChanged();
2020-07-06 15:04:02 +02:00
void settingsChanged();
};
#endif // SCSTWAPPBACKEND_H