Fotobot
Get data from your photovoltaic plant
invertor.h
Go to the documentation of this file.
1 
7 #ifndef _INVERTOR_H_
8 #define _INVERTOR_H_
9 
10 #include <QThread>
11 #include <QMutex>
12 #include "database_tables.h"
13 #include "invertor_status.h"
14 
28 class INVERTOR : public QThread {
29  Q_OBJECT
30  public:
31  ~INVERTOR();
32 
36  static INVERTOR *create(DBT_LINES::Type);
37 
39 
46  virtual void setLine(const DBT_LINES&);
47 
54  virtual void setInvertors(const QList<DBT_INVERTORS>&);
55 
62  void start(Priority priority = InheritPriority);
63 
64  signals:
75  void data (DBT_DATA);
76 
82  void loopFinished(int number_of_ok, int number_of_err);
83 
84  public slots:
91  void quit();
92 
93  protected slots:
104  virtual void slotInit() = 0;
105 
114  virtual void slotQuit() = 0;
115 
116  protected:
117  INVERTOR();
118 
123 
127  QList<DBT_INVERTORS> m_invertors;
128 
132  void setStatus(int address, int retries, const QString& command, const QString& status);
133 
134  private:
139  QMutex m_status_mutex;
140 
141 };
142 
143 #endif
void quit()
Quits the running thread.
Definition: invertor.cpp:69
INVERTOR_status status()
Returns current status of the line.
Definition: invertor.cpp:63
virtual void slotInit()=0
Initializes ancestors.
void data(DBT_DATA)
Signal to send retrieved data to other objects.
virtual void setLine(const DBT_LINES &)
Sets the parameters for the line.
Definition: invertor.cpp:42
Class describing database table DATA.
DBT_LINES m_line
Stores information about line.
Definition: invertor.h:122
QList< DBT_INVERTORS > m_invertors
Stores information about all invertors connected to the line.
Definition: invertor.h:127
INVERTOR_status m_status
Line status.
Definition: invertor.h:138
virtual void slotQuit()=0
Quits ancestors.
virtual void setInvertors(const QList< DBT_INVERTORS > &)
Sets the list of invertors connected to the line.
Definition: invertor.cpp:49
Stores the invertors status.
static INVERTOR * create(DBT_LINES::Type)
Factory makes instances depending on type.
Definition: invertor.cpp:17
Virtual class for invertor communication.
Definition: invertor.h:28
void loopFinished(int number_of_ok, int number_of_err)
Signal is sent when reading cycle was finished and all invertors were read.
Class describing database table LINES.
void start(Priority priority=InheritPriority)
Starts the thread.
Definition: invertor.cpp:36
void setStatus(int address, int retries, const QString &command, const QString &status)
Set status of line.
Definition: invertor.cpp:54