hyperion.ng
JsonConnection.h
1 #pragma once
2 
3 // Qt includes
4 #include <QColor>
5 #include <QImage>
6 #include <QTcpSocket>
7 #include <QJsonObject>
8 
9 //forward class decl
10 class Logger;
11 
16 {
17 public:
24  JsonConnection(const QString & address, bool printJson);
25 
30 
38  void setColor(std::vector<QColor> color, int priority, int duration);
39 
47  void setImage(QImage &image, int priority, int duration);
48 
57  void setEffect(const QString & effectName, const QString &effectArgs, int priority, int duration);
58 
66  void createEffect(const QString &effectName, const QString &effectScript, const QString & effectArgs);
67 
73  void deleteEffect(const QString &effectName);
74 
80  QString getServerInfo();
81 
87  QString getSysInfo();
88 
94  void clear(int priority);
95 
99  void clearAll();
100 
107  void setComponentState(const QString & component, const bool state);
108 
114  void setSource(int priority);
115 
119  void setSourceAutoSelect();
120 
124  QString getConfig(std::string type);
125 
132  void setConfig(const QString &jsonString);
133 
146 
147  void setAdjustment(
148  const QString & adjustmentId,
149  const QColor & redAdjustment,
150  const QColor & greenAdjustment,
151  const QColor & blueAdjustment,
152  const QColor & cyanAdjustment,
153  const QColor & magentaAdjustment,
154  const QColor & yellowAdjustment,
155  const QColor & blackAdjustment,
156  const QColor & whiteAdjustment,
157  double *gammaR,
158  double *gammaG,
159  double *gammaB,
160  int *backlightThreshold,
161  int *backlightColored,
162  int *brightness,
163  int *brightnessC);
164 
169  void setLedMapping(QString mappingType);
170 
171  // sets video mode 3D/2D
172  void setVideoMode(QString videoMode);
173 
174 
175 private:
183  QJsonObject sendMessage(const QJsonObject & message);
184 
192  bool parseReply(const QJsonObject & reply);
193 
195  bool _printJson;
196 
197  // Logger class
198  Logger* _log;
199 
201  QTcpSocket _socket;
202 
203 };
Definition: Logger.h:32
QString getConfig(std::string type)
Print the current loaded Hyperion configuration file.
Definition: JsonConnection.cpp:334
void clear(int priority)
Clear the given priority channel.
Definition: JsonConnection.cpp:256
void deleteEffect(const QString &effectName)
Delete a effect configuration file (.json)
Definition: JsonConnection.cpp:186
~JsonConnection()
Destructor.
Definition: JsonConnection.cpp:47
void setEffect(const QString &effectName, const QString &effectArgs, int priority, int duration)
Start the given effect.
Definition: JsonConnection.cpp:122
QString getServerInfo()
Retrieve a list of all occupied priority channels.
Definition: JsonConnection.cpp:202
void setLedMapping(QString mappingType)
sets the image to leds mapping type
Definition: JsonConnection.cpp:526
void setImage(QImage &image, int priority, int duration)
Set the leds according to the given image (assume the image is stretched to the display size) ...
Definition: JsonConnection.cpp:82
void clearAll()
Clear all priority channels.
Definition: JsonConnection.cpp:272
void setComponentState(const QString &component, const bool state)
Enable/Disable components during runtime.
Definition: JsonConnection.cpp:288
void setColor(std::vector< QColor > color, int priority, int duration)
Set all leds to the specified color.
Definition: JsonConnection.cpp:52
void createEffect(const QString &effectName, const QString &effectScript, const QString &effectArgs)
Create a effect configuration file (.json)
Definition: JsonConnection.cpp:158
JsonConnection(const QString &address, bool printJson)
Constructor.
Definition: JsonConnection.cpp:20
void setSource(int priority)
Set current active priority channel and deactivate auto source switching.
Definition: JsonConnection.cpp:306
void setSourceAutoSelect()
Enables auto source, if disabled prio by manual selecting input source.
Definition: JsonConnection.cpp:320
Connection class to setup an connection to the hyperion server and execute commands.
Definition: JsonConnection.h:15
QString getSysInfo()
Retrieve system info.
Definition: JsonConnection.cpp:229
void setConfig(const QString &jsonString)
Write JSON Value(s) to the actual loaded configuration file.
Definition: JsonConnection.cpp:363
void setAdjustment(const QString &adjustmentId, const QColor &redAdjustment, const QColor &greenAdjustment, const QColor &blueAdjustment, const QColor &cyanAdjustment, const QColor &magentaAdjustment, const QColor &yellowAdjustment, const QColor &blackAdjustment, const QColor &whiteAdjustment, double *gammaR, double *gammaG, double *gammaB, int *backlightThreshold, int *backlightColored, int *brightness, int *brightnessC)
Set the color adjustment of the leds.
Definition: JsonConnection.cpp:392