Clementine-audio-player-Mac.../src/networkremote/networkremote.h

49 lines
1.0 KiB
C
Raw Normal View History

2012-12-31 23:37:39 +01:00
#ifndef NETWORKREMOTE_H
#define NETWORKREMOTE_H
#include <QTcpServer>
#include <QTcpSocket>
#include "core/player.h"
#include "core/application.h"
2013-01-03 21:40:47 +01:00
#include "incomingdataparser.h"
#include "outgoingdatacreator.h"
#include "remoteclient.h"
2012-12-31 23:37:39 +01:00
class NetworkRemote : public QThread {
Q_OBJECT
public:
static const char* kSettingsGroup;
static const int kDefaultServerPort;
static const int kProtocolBufferVersion;
2012-12-31 23:37:39 +01:00
NetworkRemote(Application* app);
~NetworkRemote();
public slots:
void SetupServer();
void StartServer();
void ReloadSettings();
void AcceptConnection();
private:
QTcpServer* server_;
QTcpServer* server_ipv6_;
2013-01-03 21:40:47 +01:00
IncomingDataParser* incoming_data_parser_;
OutgoingDataCreator* outgoing_data_creator_;
2012-12-31 23:37:39 +01:00
int port_;
bool use_remote_;
bool only_non_public_ip_;
bool signals_connected_;
2012-12-31 23:37:39 +01:00
Application* app_;
QList<RemoteClient*> clients_;
2012-12-31 23:37:39 +01:00
void StopServer();
void ReadSettings();
void CreateRemoteClient(QTcpSocket* client_socket);
bool IpIsPrivate(int ip);
2012-12-31 23:37:39 +01:00
};
#endif // NETWORKREMOTE_H