TTKMusicPlayer  4.3.0.0
TTKMusicPlayer imitates Kugou UI, the music player uses of qmmp core library based on Qt for windows and linux
musicnetworkthread.cpp
Go to the documentation of this file.
1 #include "musicnetworkthread.h"
2 #include "musicsettingmanager.h"
3 #include "ttkconcurrent.h"
4 
5 #include <QHostInfo>
6 
7 static constexpr int NETWORK_DETECT_INTERVAL = 5000; // second
8 static constexpr const char *NETWORK_REQUEST_ADDRESS = "www.baidu.com"; // ip
9 
11  : QObject(nullptr),
12  m_networkState(true)
13 {
14  connect(&m_timer, SIGNAL(timeout()), SLOT(networkStateChanged()));
15 }
16 
18 {
19  m_timer.stop();
20 }
21 
23 {
24  TTK_INFO_STREAM("Load NetworkThread");
27 }
28 
29 void MusicNetworkThread::setBlockNetwork(bool block) noexcept
30 {
32 }
33 
35 {
37  {
38  const bool block = G_SETTING_PTR->value(MusicSettingManager::CloseNetWorkMode).toBool();
39  const QHostInfo &info = QHostInfo::fromName(NETWORK_REQUEST_ADDRESS);
40  m_networkState = !info.addresses().isEmpty();
41  m_networkState = block ? false : m_networkState;
43  });
44 }
void networkConnectionStateChanged(bool state)
static constexpr const char * NETWORK_REQUEST_ADDRESS
static constexpr int NETWORK_DETECT_INTERVAL
#define TTK_INFO_STREAM(msg)
Definition: ttklogger.h:74
#define TTKConcurrent(...)
Definition: ttkconcurrent.h:34
void setBlockNetwork(bool block) noexcept
#define G_SETTING_PTR