Hyperiond refactoring + preparation for ip restriction settings (#12)

* make hyperion to singelton.
remove arguments for config and hyperion - both are gettable via Hyperion::getInstance

* refactor hyperiond

* remove qt4 comapt
make zeroconf mandatory
refactor hyperiond

* xbmcchecker is now a singleton

* cleanup in hyperiond
zeroconf switchable between static and shared linking

* fix xbmcchecker

* extensive refactoring of hyperiond
webserver: make client ip information availabel in request object - preparation for ip filters
proto/json server, use hyperion::getInstance instead of hyperion argument

* move creation of hyperion core into hyperionDeamon class
cleanup
This commit is contained in:
redPanther
2016-06-19 00:56:47 +02:00
committed by brindosch
parent 0e5607db65
commit 4533b34606
14 changed files with 261 additions and 226 deletions

View File

@@ -32,18 +32,45 @@
typedef QObject OsxWrapper;
#endif
#include <utils/Logger.h>
#include <xbmcvideochecker/XBMCVideoChecker.h>
#include <jsonserver/JsonServer.h>
#include <protoserver/ProtoServer.h>
#include <boblightserver/BoblightServer.h>
#include <webconfig/WebConfig.h>
void startBootsequence();
XBMCVideoChecker* createXBMCVideoChecker();
void startNetworkServices(JsonServer* &jsonServer, ProtoServer* &protoServer, BoblightServer* &boblightServer);
class HyperionDaemon : public QObject
{
public:
HyperionDaemon(std::string configFile, QObject *parent=nullptr);
~HyperionDaemon();
void loadConfig(const std::string & configFile);
void run();
// grabber creators
DispmanxWrapper* createGrabberDispmanx(ProtoServer* &protoServer);
V4L2Wrapper* createGrabberV4L2(ProtoServer* &protoServer );
AmlogicWrapper* createGrabberAmlogic(ProtoServer* &protoServer);
FramebufferWrapper* createGrabberFramebuffer(ProtoServer* &protoServer);
OsxWrapper* createGrabberOsx(ProtoServer* &protoServer);
void startBootsequence();
void createXBMCVideoChecker();
void startNetworkServices();
// grabber creators
void createGrabberDispmanx();
void createGrabberV4L2();
void createGrabberAmlogic();
void createGrabberFramebuffer();
void createGrabberOsx();
private:
Logger* _log;
Json::Value _config;
XBMCVideoChecker* _xbmcVideoChecker;
JsonServer* _jsonServer;
ProtoServer* _protoServer;
BoblightServer* _boblightServer;
V4L2Wrapper* _v4l2Grabber;
DispmanxWrapper* _dispmanx;
AmlogicWrapper* _amlGrabber;
FramebufferWrapper* _fbGrabber;
OsxWrapper* _osxGrabber;
WebConfig* _webConfig;
};