convert RSNET_CONNECT to enum class

This commit is contained in:
sehraf 2020-02-09 21:45:45 +01:00
parent d310102808
commit acda7b8cc4
No known key found for this signature in database
GPG Key ID: DF09F6EAE356B2C6
8 changed files with 38 additions and 65 deletions

View File

@ -1651,7 +1651,7 @@ RsNatHoleMode p3NetMgrIMPL::getNatHoleMode()
return mNetStateBox.getNatHoleMode(); return mNetStateBox.getNatHoleMode();
} }
uint32_t p3NetMgrIMPL::getConnectModes() RsConnectModes p3NetMgrIMPL::getConnectModes()
{ {
RsStackMutex stack(mNetMtx); /****** STACK LOCK MUTEX *******/ RsStackMutex stack(mNetMtx); /****** STACK LOCK MUTEX *******/
return mNetStateBox.getConnectModes(); return mNetStateBox.getConnectModes();

View File

@ -107,7 +107,7 @@ virtual uint32_t getNetStateMode() = 0;
virtual RsNetworkMode getNetworkMode() = 0; virtual RsNetworkMode getNetworkMode() = 0;
virtual RsNatTypeMode getNatTypeMode() = 0; virtual RsNatTypeMode getNatTypeMode() = 0;
virtual RsNatHoleMode getNatHoleMode() = 0; virtual RsNatHoleMode getNatHoleMode() = 0;
virtual uint32_t getConnectModes() = 0; virtual RsConnectModes getConnectModes() = 0;
/* Shut It Down! */ /* Shut It Down! */
virtual bool shutdown() = 0; /* blocking shutdown call */ virtual bool shutdown() = 0; /* blocking shutdown call */
@ -158,7 +158,7 @@ virtual uint32_t getNetStateMode();
virtual RsNetworkMode getNetworkMode(); virtual RsNetworkMode getNetworkMode();
virtual RsNatTypeMode getNatTypeMode(); virtual RsNatTypeMode getNatTypeMode();
virtual RsNatHoleMode getNatHoleMode(); virtual RsNatHoleMode getNatHoleMode();
virtual uint32_t getConnectModes(); virtual RsConnectModes getConnectModes();
/* Shut It Down! */ /* Shut It Down! */
virtual bool shutdown(); /* blocking shutdown call */ virtual bool shutdown(); /* blocking shutdown call */

View File

@ -164,7 +164,7 @@ RsNatHoleMode pqiNetStateBox::getNatHoleMode()
return mNatHoleMode; return mNatHoleMode;
} }
uint32_t pqiNetStateBox::getConnectModes() RsConnectModes pqiNetStateBox::getConnectModes()
{ {
updateNetState(); updateNetState();
return mConnectModes; return mConnectModes;
@ -195,7 +195,7 @@ void pqiNetStateBox::reset()
mNetworkMode = RsNetworkMode::UNKNOWN; mNetworkMode = RsNetworkMode::UNKNOWN;
mNatTypeMode = RsNatTypeMode::UNKNOWN; mNatTypeMode = RsNatTypeMode::UNKNOWN;
mNatHoleMode = RsNatHoleMode::UNKNOWN; mNatHoleMode = RsNatHoleMode::UNKNOWN;
mConnectModes = RSNET_CONNECT_NONE; mConnectModes = RsConnectModes::NONE;
mNetStateMode = RSNET_NETSTATE_BAD_UNKNOWN; mNetStateMode = RSNET_NETSTATE_BAD_UNKNOWN;
/* Parameters set externally */ /* Parameters set externally */
@ -552,7 +552,7 @@ void pqiNetStateBox::determineNetworkState()
void pqiNetStateBox::workoutNetworkMode() void pqiNetStateBox::workoutNetworkMode()
{ {
/* connectModes are dependent on the other modes */ /* connectModes are dependent on the other modes */
mConnectModes = RSNET_CONNECT_NONE; mConnectModes = RsConnectModes::NONE;
switch(mNetworkMode) switch(mNetworkMode)
{ {
case RsNetworkMode::UNKNOWN: case RsNetworkMode::UNKNOWN:
@ -562,33 +562,33 @@ void pqiNetStateBox::workoutNetworkMode()
/* nothing here */ /* nothing here */
break; break;
case RsNetworkMode::EXTERNALIP: case RsNetworkMode::EXTERNALIP:
mConnectModes = RSNET_CONNECT_OUTGOING_TCP; mConnectModes = RsConnectModes::OUTGOING_TCP;
mConnectModes |= RSNET_CONNECT_ACCEPT_TCP; mConnectModes |= RsConnectModes::ACCEPT_TCP;
if (mDhtActive) if (mDhtActive)
{ {
mConnectModes |= RSNET_CONNECT_DIRECT_UDP; mConnectModes |= RsConnectModes::DIRECT_UDP;
/* if open port. don't want PROXY or RELAY connect /* if open port. don't want PROXY or RELAY connect
* because we should be able to do direct with EVERYONE. * because we should be able to do direct with EVERYONE.
* Ability to do Proxy is dependent on FIREWALL status. * Ability to do Proxy is dependent on FIREWALL status.
* Technically could do RELAY, but disable both. * Technically could do RELAY, but disable both.
*/ */
//mConnectModes |= RSNET_CONNECT_PROXY_UDP; //mConnectModes |= RsConnectModes::PROXY_UDP;
//mConnectModes |= RSNET_CONNECT_RELAY_UDP; //mConnectModes |= RsConnectModes::RELAY_UDP;
} }
break; break;
case RsNetworkMode::BEHINDNAT: case RsNetworkMode::BEHINDNAT:
mConnectModes = RSNET_CONNECT_OUTGOING_TCP; mConnectModes = RsConnectModes::OUTGOING_TCP;
/* we're okay if there's a NAT HOLE */ /* we're okay if there's a NAT HOLE */
if ((mNatHoleMode == RsNatHoleMode::UPNP) || if ((mNatHoleMode == RsNatHoleMode::UPNP) ||
(mNatHoleMode == RsNatHoleMode::NATPMP) || (mNatHoleMode == RsNatHoleMode::NATPMP) ||
(mNatHoleMode == RsNatHoleMode::FORWARDED)) (mNatHoleMode == RsNatHoleMode::FORWARDED))
{ {
mConnectModes |= RSNET_CONNECT_ACCEPT_TCP; mConnectModes |= RsConnectModes::ACCEPT_TCP;
if (mDhtActive) if (mDhtActive)
{ {
mConnectModes |= RSNET_CONNECT_DIRECT_UDP; mConnectModes |= RsConnectModes::DIRECT_UDP;
/* dont want PROXY | RELAY with open ports */ /* dont want PROXY | RELAY with open ports */
} }
} }
@ -600,14 +600,14 @@ void pqiNetStateBox::workoutNetworkMode()
*/ */
if (mDhtActive) if (mDhtActive)
{ {
mConnectModes |= RSNET_CONNECT_DIRECT_UDP; mConnectModes |= RsConnectModes::DIRECT_UDP;
mConnectModes |= RSNET_CONNECT_RELAY_UDP; mConnectModes |= RsConnectModes::RELAY_UDP;
if ((mNatTypeMode == RsNatTypeMode::RESTRICTED_CONE) || if ((mNatTypeMode == RsNatTypeMode::RESTRICTED_CONE) ||
(mNatTypeMode == RsNatTypeMode::FULL_CONE) || (mNatTypeMode == RsNatTypeMode::FULL_CONE) ||
(mNatTypeMode == RsNatTypeMode::DETERM_SYM)) (mNatTypeMode == RsNatTypeMode::DETERM_SYM))
{ {
mConnectModes |= RSNET_CONNECT_PROXY_UDP; mConnectModes |= RsConnectModes::PROXY_UDP;
} }
} }
} }
@ -616,34 +616,6 @@ void pqiNetStateBox::workoutNetworkMode()
} }
std::string NetStateConnectModesString(uint32_t connect)
{
std::string connOut;
if (connect & RSNET_CONNECT_OUTGOING_TCP)
{
connOut += "TCP_OUT ";
}
if (connect & RSNET_CONNECT_ACCEPT_TCP)
{
connOut += "TCP_IN ";
}
if (connect & RSNET_CONNECT_DIRECT_UDP)
{
connOut += "DIRECT_UDP ";
}
if (connect & RSNET_CONNECT_PROXY_UDP)
{
connOut += "PROXY_UDP ";
}
if (connect & RSNET_CONNECT_RELAY_UDP)
{
connOut += "RELAY_UDP ";
}
return connOut;
}
std::string NetStateNetStateString(uint32_t netstate) std::string NetStateNetStateString(uint32_t netstate)
{ {
std::string str; std::string str;

View File

@ -58,7 +58,7 @@ class pqiNetStateBox
RsNetworkMode getNetworkMode(); RsNetworkMode getNetworkMode();
RsNatTypeMode getNatTypeMode(); RsNatTypeMode getNatTypeMode();
RsNatHoleMode getNatHoleMode(); RsNatHoleMode getNatHoleMode();
uint32_t getConnectModes(); RsConnectModes getConnectModes();
private: private:
@ -77,7 +77,7 @@ class pqiNetStateBox
RsNetworkMode mNetworkMode; RsNetworkMode mNetworkMode;
RsNatTypeMode mNatTypeMode; RsNatTypeMode mNatTypeMode;
RsNatHoleMode mNatHoleMode; RsNatHoleMode mNatHoleMode;
uint32_t mConnectModes; RsConnectModes mConnectModes;
uint32_t mNetStateMode; uint32_t mNetStateMode;
/* Parameters set externally */ /* Parameters set externally */
@ -120,7 +120,5 @@ class pqiNetStateBox
std::string NetStateNetStateString(uint32_t netstate); std::string NetStateNetStateString(uint32_t netstate);
std::string NetStateConnectModesString(uint32_t connect);
#endif #endif

View File

@ -67,13 +67,16 @@ enum class RsNatHoleMode : uint8_t
FORWARDED = 4 FORWARDED = 4
}; };
// Types of Connections. enum class RsConnectModes : uint16_t
#define RSNET_CONNECT_NONE 0x0000 {
#define RSNET_CONNECT_ACCEPT_TCP 0x0001 NONE = 0x0000,
#define RSNET_CONNECT_OUTGOING_TCP 0x0002 ACCEPT_TCP = 0x0001,
#define RSNET_CONNECT_DIRECT_UDP 0x0100 OUTGOING_TCP= 0x0002,
#define RSNET_CONNECT_PROXY_UDP 0x0200 DIRECT_UDP = 0x0100,
#define RSNET_CONNECT_RELAY_UDP 0x0400 PROXY_UDP = 0x0200,
RELAY_UDP = 0x0400
};
RS_REGISTER_ENUM_FLAGS_TYPE(RsConnectModes)
// net state (good, okay, bad) // net state (good, okay, bad)
// BAD. (RED) // BAD. (RED)
@ -361,7 +364,7 @@ public:
virtual RsNetworkMode getNetworkMode() = 0; virtual RsNetworkMode getNetworkMode() = 0;
virtual RsNatTypeMode getNatTypeMode() = 0; virtual RsNatTypeMode getNatTypeMode() = 0;
virtual RsNatHoleMode getNatHoleMode() = 0; virtual RsNatHoleMode getNatHoleMode() = 0;
virtual uint32_t getConnectModes() = 0; virtual RsConnectModes getConnectModes() = 0;
virtual bool getConfigurationOption(uint32_t key, std::string &opt) = 0; virtual bool getConfigurationOption(uint32_t key, std::string &opt) = 0;
virtual bool setConfigurationOption(uint32_t key, const std::string &opt) = 0; virtual bool setConfigurationOption(uint32_t key, const std::string &opt) = 0;

View File

@ -349,7 +349,7 @@ RsNatHoleMode p3ServerConfig::getNatHoleMode()
return mNetMgr->getNatHoleMode(); return mNetMgr->getNatHoleMode();
} }
uint32_t p3ServerConfig::getConnectModes() RsConnectModes p3ServerConfig::getConnectModes()
{ {
return mNetMgr->getConnectModes(); return mNetMgr->getConnectModes();
} }

View File

@ -78,7 +78,7 @@ virtual uint32_t getNetState();
virtual RsNetworkMode getNetworkMode(); virtual RsNetworkMode getNetworkMode();
virtual RsNatTypeMode getNatTypeMode(); virtual RsNatTypeMode getNatTypeMode();
virtual RsNatHoleMode getNatHoleMode(); virtual RsNatHoleMode getNatHoleMode();
virtual uint32_t getConnectModes(); virtual RsConnectModes getConnectModes();
virtual bool getConfigurationOption(uint32_t key, std::string &opt); virtual bool getConfigurationOption(uint32_t key, std::string &opt);
virtual bool setConfigurationOption(uint32_t key, const std::string &opt); virtual bool setConfigurationOption(uint32_t key, const std::string &opt);

View File

@ -214,27 +214,27 @@ void DhtWindow::updateNetStatus()
break; break;
} }
uint32_t connect = rsConfig->getConnectModes(); RsConnectModes connect = rsConfig->getConnectModes();
label = ui.connectLabel; label = ui.connectLabel;
QString connOut; QString connOut;
if (connect & RSNET_CONNECT_OUTGOING_TCP) if (!!(connect & RsConnectModes::OUTGOING_TCP))
{ {
connOut += "TCP_OUT "; connOut += "TCP_OUT ";
} }
if (connect & RSNET_CONNECT_ACCEPT_TCP) if (!!(connect & RsConnectModes::ACCEPT_TCP))
{ {
connOut += "TCP_IN "; connOut += "TCP_IN ";
} }
if (connect & RSNET_CONNECT_DIRECT_UDP) if (!!(connect & RsConnectModes::DIRECT_UDP))
{ {
connOut += "DIRECT_UDP "; connOut += "DIRECT_UDP ";
} }
if (connect & RSNET_CONNECT_PROXY_UDP) if (!!(connect & RsConnectModes::PROXY_UDP))
{ {
connOut += "PROXY_UDP "; connOut += "PROXY_UDP ";
} }
if (connect & RSNET_CONNECT_RELAY_UDP) if (!!(connect & RsConnectModes::RELAY_UDP))
{ {
connOut += "RELAY_UDP "; connOut += "RELAY_UDP ";
} }