WimaBridge.h 791 Bytes
Newer Older
1 2 3
#pragma once

#include <QObject>
4
#include <QSharedPointer>
5 6 7 8 9 10 11 12 13

#include "WimaPlanData.h"

class WimaController;
class WimaPlaner;

//!
//! \brief The WimaBridge class
//!
14
//! A singelton bridge establishing a link between WimaController and WimaPlaner
15 16 17 18
class WimaBridge : public QObject {
  Q_OBJECT
  WimaBridge(QObject *parent = nullptr);
  WimaBridge(WimaBridge &other) = delete;
19
  static WimaBridge *createInstance();
20

21 22 23 24 25
public:
  ~WimaBridge();
  static WimaBridge *instance();
  const WimaPlanData &planData() const;
  const QVector<int> &progress() const;
26 27

public slots:
28 29 30 31 32
  void setPlanData(const WimaPlanData &planData);
  void setProgress(const QVector<int> &p);
signals:
  void planDataChanged();
  void progressChanged();
33

34
private:
35 36
  WimaPlanData planData_;
  QVector<int> progress_;
37
};