Skip to content

Commit

Permalink
changed: rename CNetwork to CNetworkBase
Browse files Browse the repository at this point in the history
and add typedefs to CNetwork for specific platforms.
in preparation for rtti'ing the service
  • Loading branch information
notspiff authored and afedchin committed Apr 18, 2018
1 parent 2e8f7c3 commit 5644b22
Show file tree
Hide file tree
Showing 16 changed files with 52 additions and 50 deletions.
1 change: 0 additions & 1 deletion cmake/treedata/android/subdirs.txt
Expand Up @@ -6,7 +6,6 @@ xbmc/platform/posix platform/posix
xbmc/platform/posix/filesystem platform/posix/filesystem
xbmc/platform/posix/utils platform/posix/utils
xbmc/platform/linux platform/linux
xbmc/platform/linux/network platform/linux/network
xbmc/platform/linux/peripherals platform/linux/peripherals
xbmc/platform/android/activity platform/android/activity
xbmc/platform/android/bionic_supplement platform/android/bionicsupplement
Expand Down
2 changes: 1 addition & 1 deletion xbmc/ServiceBroker.cpp
Expand Up @@ -126,7 +126,7 @@ CFileExtensionProvider& CServiceBroker::GetFileExtensionProvider()
return g_application.m_ServiceManager->GetFileExtensionProvider();
}

CNetwork& CServiceBroker::GetNetwork()
CNetworkBase& CServiceBroker::GetNetwork()
{
return g_application.m_ServiceManager->GetNetwork();
}
Expand Down
4 changes: 2 additions & 2 deletions xbmc/ServiceBroker.h
Expand Up @@ -52,7 +52,7 @@ class IAE;
class CFavouritesService;
class CInputManager;
class CFileExtensionProvider;
class CNetwork;
class CNetworkBase;
class CWinSystemBase;
class CRenderSystemBase;
class CPowerManager;
Expand Down Expand Up @@ -107,7 +107,7 @@ class CServiceBroker
static CFileExtensionProvider &GetFileExtensionProvider();
static bool IsBinaryAddonCacheUp();
static bool IsServiceManagerUp();
static CNetwork& GetNetwork();
static CNetworkBase& GetNetwork();
static CPowerManager& GetPowerManager();
static CWeatherManager& GetWeatherManager();
static CPlayerCoreFactory &GetPlayerCoreFactory();
Expand Down
16 changes: 3 additions & 13 deletions xbmc/ServiceManager.cpp
Expand Up @@ -400,22 +400,12 @@ void CServiceManager::delete_favouritesService::operator()(CFavouritesService *p
delete p;
}

CNetwork* CServiceManager::SetupNetwork() const
{
#if defined(TARGET_ANDROID)
return new CNetworkAndroid(*m_settings);
#elif defined(HAS_LINUX_NETWORK)
return new CNetworkLinux(*m_settings);
#elif defined(HAS_WIN32_NETWORK)
return new CNetworkWin32(*m_settings);
#elif defined(HAS_WIN10_NETWORK)
return new CNetworkWin10(*m_settings);
#else
CNetworkBase* CServiceManager::SetupNetwork() const
{
return new CNetwork(*m_settings);
#endif
}

CNetwork& CServiceManager::GetNetwork()
CNetworkBase& CServiceManager::GetNetwork()
{
return *m_network;
}
Expand Down
8 changes: 4 additions & 4 deletions xbmc/ServiceManager.h
Expand Up @@ -56,7 +56,7 @@ class XBPython;
class CDataCacheCore;
class CSettings;
class CFavouritesService;
class CNetwork;
class CNetworkBase;
class CWinSystemBase;
class CPowerManager;
class CWeatherManager;
Expand Down Expand Up @@ -110,7 +110,7 @@ class CServiceManager
ADDON::CServiceAddonManager& GetServiceAddons();
ADDON::CRepositoryUpdater& GetRepositoryUpdater();
ANNOUNCEMENT::CAnnouncementManager& GetAnnouncementManager();
CNetwork& GetNetwork();
CNetworkBase& GetNetwork();
#ifdef HAS_PYTHON
XBPython& GetXBPython();
#endif
Expand Down Expand Up @@ -162,7 +162,7 @@ class CServiceManager
};

//! \brief Initialize appropriate networking instance.
CNetwork* SetupNetwork() const;
CNetworkBase* SetupNetwork() const;

std::unique_ptr<ADDON::CAddonMgr> m_addonMgr;
std::unique_ptr<ADDON::CBinaryAddonManager> m_binaryAddonManager;
Expand All @@ -187,7 +187,7 @@ class CServiceManager
std::unique_ptr<CFavouritesService, delete_favouritesService> m_favouritesService;
std::unique_ptr<CInputManager> m_inputManager;
std::unique_ptr<CFileExtensionProvider> m_fileExtensionProvider;
std::unique_ptr<CNetwork> m_network;
std::unique_ptr<CNetworkBase> m_network;
std::unique_ptr<CPowerManager> m_powerManager;
std::unique_ptr<CWeatherManager> m_weatherManager;
std::unique_ptr<CPlayerCoreFactory> m_playerCoreFactory;
Expand Down
28 changes: 14 additions & 14 deletions xbmc/network/Network.cpp
Expand Up @@ -136,18 +136,18 @@ int NetworkAccessPoint::FreqToChannel(float frequency)
return 0; // unknown
}

CNetwork::CNetwork(CSettings &settings) :
CNetworkBase::CNetworkBase(CSettings &settings) :
m_services(new CNetworkServices(settings))
{
CApplicationMessenger::GetInstance().PostMsg(TMSG_NETWORKMESSAGE, SERVICES_UP, 0);
}

CNetwork::~CNetwork()
CNetworkBase::~CNetworkBase()
{
CApplicationMessenger::GetInstance().PostMsg(TMSG_NETWORKMESSAGE, SERVICES_DOWN, 0);
}

int CNetwork::ParseHex(char *str, unsigned char *addr)
int CNetworkBase::ParseHex(char *str, unsigned char *addr)
{
int len = 0;

Expand All @@ -166,7 +166,7 @@ int CNetwork::ParseHex(char *str, unsigned char *addr)
return len;
}

bool CNetwork::GetHostName(std::string& hostname)
bool CNetworkBase::GetHostName(std::string& hostname)
{
char hostName[128];
if (gethostname(hostName, sizeof(hostName)))
Expand All @@ -182,7 +182,7 @@ bool CNetwork::GetHostName(std::string& hostname)
return true;
}

bool CNetwork::IsLocalHost(const std::string& hostname)
bool CNetworkBase::IsLocalHost(const std::string& hostname)
{
if (hostname.empty())
return false;
Expand Down Expand Up @@ -211,7 +211,7 @@ bool CNetwork::IsLocalHost(const std::string& hostname)
return false;
}

CNetworkInterface* CNetwork::GetFirstConnectedInterface()
CNetworkInterface* CNetworkBase::GetFirstConnectedInterface()
{
std::vector<CNetworkInterface*>& ifaces = GetInterfaceList();
std::vector<CNetworkInterface*>::const_iterator iter = ifaces.begin();
Expand All @@ -226,7 +226,7 @@ CNetworkInterface* CNetwork::GetFirstConnectedInterface()
return NULL;
}

bool CNetwork::HasInterfaceForIP(unsigned long address)
bool CNetworkBase::HasInterfaceForIP(unsigned long address)
{
unsigned long subnet;
unsigned long local;
Expand All @@ -248,18 +248,18 @@ bool CNetwork::HasInterfaceForIP(unsigned long address)
return false;
}

bool CNetwork::IsAvailable(void)
bool CNetworkBase::IsAvailable(void)
{
std::vector<CNetworkInterface*>& ifaces = GetInterfaceList();
return (ifaces.size() != 0);
}

bool CNetwork::IsConnected()
bool CNetworkBase::IsConnected()
{
return GetFirstConnectedInterface() != NULL;
}

CNetworkInterface* CNetwork::GetInterfaceByName(const std::string& name)
CNetworkInterface* CNetworkBase::GetInterfaceByName(const std::string& name)
{
std::vector<CNetworkInterface*>& ifaces = GetInterfaceList();
std::vector<CNetworkInterface*>::const_iterator iter = ifaces.begin();
Expand All @@ -274,7 +274,7 @@ CNetworkInterface* CNetwork::GetInterfaceByName(const std::string& name)
return NULL;
}

void CNetwork::NetworkMessage(EMESSAGE message, int param)
void CNetworkBase::NetworkMessage(EMESSAGE message, int param)
{
switch( message )
{
Expand All @@ -292,7 +292,7 @@ void CNetwork::NetworkMessage(EMESSAGE message, int param)
}
}

bool CNetwork::WakeOnLan(const char* mac)
bool CNetworkBase::WakeOnLan(const char* mac)
{
int i, j, packet;
unsigned char ethaddr[8];
Expand Down Expand Up @@ -427,7 +427,7 @@ static const char* ConnectHostPort(SOCKET soc, const struct sockaddr_in& addr, s
return 0; // success
}

bool CNetwork::PingHost(unsigned long ipaddr, unsigned short port, unsigned int timeOutMs, bool readability_check)
bool CNetworkBase::PingHost(unsigned long ipaddr, unsigned short port, unsigned int timeOutMs, bool readability_check)
{
if (port == 0) // use icmp ping
return PingHost (ipaddr, timeOutMs);
Expand Down Expand Up @@ -554,7 +554,7 @@ int CreateTCPServerSocket(const int port, const bool bindLocal, const int backlo
return sock;
}

void CNetwork::WaitForNet()
void CNetworkBase::WaitForNet()
{
const int timeout = CServiceBroker::GetSettings().GetInt(CSettings::SETTING_POWERMANAGEMENT_WAITFORNETWORK);
if (timeout <= 0)
Expand Down
8 changes: 5 additions & 3 deletions xbmc/network/Network.h
Expand Up @@ -98,7 +98,7 @@ class CNetworkInterface
class CSettings;
class CNetworkServices;

class CNetwork
class CNetworkBase
{
public:
enum EMESSAGE
Expand All @@ -107,8 +107,8 @@ class CNetwork
SERVICES_DOWN
};

CNetwork(CSettings &settings);
virtual ~CNetwork();
CNetworkBase(CSettings &settings);
virtual ~CNetworkBase();

// Get network services
CNetworkServices& GetServices() { return *m_services; }
Expand Down Expand Up @@ -167,6 +167,8 @@ class CNetwork
#include "platform/win32/network/NetworkWin32.h"
#elif defined(HAS_WIN10_NETWORK)
#include "platform/win10/network/NetworkWin10.h"
#else
using CNetwork = CNetworkBase;
#endif

//creates, binds and listens a tcp socket on the desired port. Set bindLocal to
Expand Down
2 changes: 1 addition & 1 deletion xbmc/platform/android/activity/XBMCApp.cpp
Expand Up @@ -1022,7 +1022,7 @@ void CXBMCApp::onReceive(CJNIIntent intent)
{
if (g_application.IsInitialized())
{
CNetwork& net = CServiceBroker::GetNetwork();
CNetworkBase& net = CServiceBroker::GetNetwork();
CNetworkAndroid* netdroid = static_cast<CNetworkAndroid*>(&net);
netdroid->RetrieveInterfaces();
}
Expand Down
2 changes: 1 addition & 1 deletion xbmc/platform/android/network/NetworkAndroid.cpp
Expand Up @@ -294,7 +294,7 @@ std::string CNetworkInterfaceAndroid::GetHostName()
/*************************/

CNetworkAndroid::CNetworkAndroid(CSettings &settings)
: CNetwork(settings)
: CNetworkBase(settings)
{
RetrieveInterfaces();
}
Expand Down
4 changes: 3 additions & 1 deletion xbmc/platform/android/network/NetworkAndroid.h
Expand Up @@ -63,7 +63,7 @@ class CNetworkInterfaceAndroid : public CNetworkInterface
};


class CNetworkAndroid : public CNetwork
class CNetworkAndroid : public CNetworkBase
{
friend class CXBMCApp;

Expand All @@ -80,6 +80,7 @@ class CNetworkAndroid : public CNetwork
virtual void SetNameServers(const std::vector<std::string>& nameServers) override;

// Ping remote host
using CNetworkBase::PingHost;
virtual bool PingHost(unsigned long remote_ip, unsigned int timeout_ms = 2000) override;

protected:
Expand All @@ -89,3 +90,4 @@ class CNetworkAndroid : public CNetwork
CCriticalSection m_refreshMutex;
};

using CNetwork = CNetworkAndroid;
8 changes: 4 additions & 4 deletions xbmc/platform/linux/network/NetworkLinux.cpp
Expand Up @@ -287,7 +287,7 @@ std::string CNetworkInterfaceLinux::GetCurrentDefaultGateway(void)
strcmp(gateway, "00000000") != 0)
{
unsigned char gatewayAddr[4];
int len = CNetwork::ParseHex(gateway, gatewayAddr);
int len = CNetworkBase::ParseHex(gateway, gatewayAddr);
if (len == 4)
{
struct in_addr in;
Expand All @@ -306,7 +306,7 @@ std::string CNetworkInterfaceLinux::GetCurrentDefaultGateway(void)
}

CNetworkLinux::CNetworkLinux(CSettings &settings)
: CNetwork(settings)
: CNetworkBase(settings)
{
m_sock = socket(AF_INET, SOCK_DGRAM, 0);
queryInterfaceList();
Expand Down Expand Up @@ -338,15 +338,15 @@ std::vector<CNetworkInterface*>& CNetworkLinux::GetInterfaceList(void)
//! and the interface comes up during runtime
CNetworkInterface* CNetworkLinux::GetFirstConnectedInterface(void)
{
CNetworkInterface *pNetIf=CNetwork::GetFirstConnectedInterface();
CNetworkInterface *pNetIf=CNetworkBase::GetFirstConnectedInterface();

// no connected Interfaces found? - requeryInterfaceList
if (!pNetIf)
{
CLog::Log(LOGDEBUG,"%s no connected interface found - requery list",__FUNCTION__);
queryInterfaceList();
//retry finding a connected if
pNetIf = CNetwork::GetFirstConnectedInterface();
pNetIf = CNetworkBase::GetFirstConnectedInterface();
}

return pNetIf;
Expand Down
4 changes: 3 additions & 1 deletion xbmc/platform/linux/network/NetworkLinux.h
Expand Up @@ -64,7 +64,7 @@ class CNetworkInterfaceLinux : public CNetworkInterface
CNetworkLinux* m_network;
};

class CNetworkLinux : public CNetwork
class CNetworkLinux : public CNetworkBase
{
public:
CNetworkLinux(CSettings &settings);
Expand All @@ -91,5 +91,7 @@ class CNetworkLinux : public CNetwork
int m_sock;
};

using CNetwork = CNetworkLinux;

#endif

2 changes: 1 addition & 1 deletion xbmc/platform/win10/network/NetworkWin10.cpp
Expand Up @@ -184,7 +184,7 @@ std::string CNetworkInterfaceWin10::GetCurrentDefaultGateway(void)
}

CNetworkWin10::CNetworkWin10(CSettings &settings)
: CNetwork(settings)
: CNetworkBase(settings)
{
queryInterfaceList();
NetworkInformation::NetworkStatusChanged += ref new NetworkStatusChangedEventHandler([this](Platform::Object^) {
Expand Down
6 changes: 5 additions & 1 deletion xbmc/platform/win10/network/NetworkWin10.h
Expand Up @@ -64,7 +64,7 @@ class CNetworkInterfaceWin10 : public CNetworkInterface
};


class CNetworkWin10 : public CNetwork
class CNetworkWin10 : public CNetworkBase
{
public:
CNetworkWin10(CSettings &settings);
Expand All @@ -74,6 +74,7 @@ class CNetworkWin10 : public CNetwork
virtual std::vector<CNetworkInterface*>& GetInterfaceList(void);

// Ping remote host
using CNetworkBase::PingHost;
virtual bool PingHost(unsigned long host, unsigned int timeout_ms = 2000);

// Get/set the nameserver(s)
Expand All @@ -91,3 +92,6 @@ class CNetworkWin10 : public CNetwork
CStopWatch m_netrefreshTimer;
CCriticalSection m_critSection;
};

using CNetwork = CNetworkWin10;

2 changes: 1 addition & 1 deletion xbmc/platform/win32/network/NetworkWin32.cpp
Expand Up @@ -145,7 +145,7 @@ std::string CNetworkInterfaceWin32::GetCurrentDefaultGateway(void)
}

CNetworkWin32::CNetworkWin32(CSettings &settings)
: CNetwork(settings)
: CNetworkBase(settings)
{
queryInterfaceList();
}
Expand Down

0 comments on commit 5644b22

Please sign in to comment.