Browse Source

proxyServer param as optional

Murat Dogan 5 years ago
parent
commit
44361714a5
2 changed files with 10 additions and 10 deletions
  1. 2 2
      include/rtc/configuration.hpp
  2. 8 8
      src/icetransport.cpp

+ 2 - 2
include/rtc/configuration.hpp

@@ -54,7 +54,7 @@ struct IceServer {
 struct ProxyServer {
 	enum class Type { None = 0, Socks5, Http, Last = Http };
 
-	Type type = Type::None;
+	Type type;
 	string ip;
 	uint16_t  port;
 	string username;
@@ -63,7 +63,7 @@ struct ProxyServer {
 
 struct Configuration {
 	std::vector<IceServer> iceServers;
-	ProxyServer proxyServer;
+	std::optional<ProxyServer> proxyServer;
 	bool enableIceTcp = false;
 	uint16_t portRangeBegin = 1024;
 	uint16_t portRangeEnd = 65535;

+ 8 - 8
src/icetransport.cpp

@@ -320,15 +320,15 @@ IceTransport::IceTransport(const Configuration &config, Description::Role role,
 	g_object_set(G_OBJECT(mNiceAgent.get()), "upnp-timeout", 200, nullptr);
 
 	// Proxy
-	if (config.proxyServer.type != ProxyServer::Type::None) {
-		g_object_set(G_OBJECT(mNiceAgent.get()), "proxy-type", config.proxyServer.type, nullptr);
-		g_object_set(G_OBJECT(mNiceAgent.get()), "proxy-ip", config.proxyServer.ip.c_str(),
+	if (config.proxyServer.has_value()) {
+		ProxyServer proxyServer = config.proxyServer.value();
+		g_object_set(G_OBJECT(mNiceAgent.get()), "proxy-type", proxyServer.type, nullptr);
+		g_object_set(G_OBJECT(mNiceAgent.get()), "proxy-ip", proxyServer.ip.c_str(), nullptr);
+		g_object_set(G_OBJECT(mNiceAgent.get()), "proxy-port", proxyServer.port, nullptr);
+		g_object_set(G_OBJECT(mNiceAgent.get()), "proxy-username", proxyServer.username.c_str(),
+		             nullptr);
+		g_object_set(G_OBJECT(mNiceAgent.get()), "proxy-password", proxyServer.password.c_str(),
 		             nullptr);
-		g_object_set(G_OBJECT(mNiceAgent.get()), "proxy-port", config.proxyServer.port, nullptr);
-		g_object_set(G_OBJECT(mNiceAgent.get()), "proxy-username",
-		             config.proxyServer.username.c_str(), nullptr);
-		g_object_set(G_OBJECT(mNiceAgent.get()), "proxy-password",
-		             config.proxyServer.password.c_str(), nullptr);
 	}
 
 	// Randomize order