Simplify HTTP server settings. Now only the interface can be chosen. HTTP server is used for all non-MPD files. If computer has no active network connection (e.g. lo is the only interface), then the HTTP server settings page is hidden.

This commit is contained in:
craig.p.drummond
2013-05-13 20:40:37 +00:00
committed by craig.p.drummond
parent 0d5db70eb4
commit 23fac23d50
14 changed files with 153 additions and 345 deletions

View File

@@ -33,23 +33,23 @@ class HttpSocket : public QTcpServer
Q_OBJECT
public:
HttpSocket(const QString &addr, quint16 p, quint16 prevPort);
HttpSocket(const QString &iface, quint16 port);
virtual ~HttpSocket() { }
void terminate();
void incomingConnection(int socket);
QString address() const { return ifaceAddress; }
QString configuredAddress() { return cfgAddress; }
QString configuredInterface() { return cfgInterface; }
private:
bool openPort(const QHostAddress &a, const QString &addr, quint16 p);
bool openPort(const QHostAddress &a, quint16 p);
private Q_SLOTS:
void readClient();
void discardClient();
private:
QString cfgAddress;
QString cfgInterface;
QString ifaceAddress;
bool terminated;
};