|
@@ -3,18 +3,18 @@
|
|
|
* Company: Lynar Studios
|
|
|
* E-Mail: webmaster@lynarstudios.com
|
|
|
* Created: 2022-11-16
|
|
|
- * Changed: 2022-11-18
|
|
|
+ * Changed: 2022-12-09
|
|
|
*
|
|
|
* */
|
|
|
|
|
|
#include <ls_std/network/socket/Socket.hpp>
|
|
|
#if defined(unix) || defined(__APPLE__)
|
|
|
#include <sys/socket.h>
|
|
|
-#include <netinet/in.h>
|
|
|
-#include <arpa/inet.h>
|
|
|
#endif
|
|
|
#include <ls_std/network/core/ProtocolFamilyMapper.hpp>
|
|
|
#include <ls_std/network/core/ProtocolMapper.hpp>
|
|
|
+#include <ls_std/network/socket/ConvertedSocketAddress.hpp>
|
|
|
+#include <ls_std/network/socket/SocketAddressMapper.hpp>
|
|
|
|
|
|
ls::std::network::Socket::Socket(const ls::std::network::SocketParameter& _parameter) : ls::std::core::Class("Socket"),
|
|
|
parameter(_parameter)
|
|
@@ -40,16 +40,19 @@ bool ls::std::network::Socket::isInitialized() const
|
|
|
#if defined(unix) || defined(__APPLE__)
|
|
|
bool ls::std::network::Socket::_connectUnix() const
|
|
|
{
|
|
|
- ::sockaddr_in socketAddressUnix{}; // TODO: put everything inside a dedicated mapper
|
|
|
- socketAddressUnix.sin_port = htons(this->parameter.socketAddress.port);
|
|
|
+ ls::std::network::ConvertedSocketAddress convertedSocketAddress = ls::std::network::SocketAddressMapper::from(ls::std::network::Socket::_createSocketAddressMapperParameter());
|
|
|
+ return ::connect(this->unixDescriptor, reinterpret_cast<const sockaddr *>(&convertedSocketAddress.socketAddressUnix), sizeof(convertedSocketAddress.socketAddressUnix)) == 0;
|
|
|
+}
|
|
|
+#endif
|
|
|
|
|
|
- ls::std::network::ProtocolFamily protocolFamily = ls::std::network::ProtocolFamilyMapper::from(this->parameter.protocolFamilyType);
|
|
|
- socketAddressUnix.sin_family = protocolFamily.unixDomain;
|
|
|
- ::inet_aton(this->parameter.socketAddress.ipAddress.c_str(), &socketAddressUnix.sin_addr);
|
|
|
+ls::std::network::SocketAddressMapperParameter ls::std::network::Socket::_createSocketAddressMapperParameter() const
|
|
|
+{
|
|
|
+ ls::std::network::SocketAddressMapperParameter mapperParameter{};
|
|
|
+ mapperParameter.socketAddress = this->parameter.socketAddress;
|
|
|
+ mapperParameter.protocolFamilyType = this->parameter.protocolFamilyType;
|
|
|
|
|
|
- return ::connect(this->unixDescriptor, reinterpret_cast<const sockaddr *>(&socketAddressUnix), sizeof(socketAddressUnix)) == 0;
|
|
|
+ return mapperParameter;
|
|
|
}
|
|
|
-#endif
|
|
|
|
|
|
bool ls::std::network::Socket::_init(const ls::std::network::SocketParameter &_parameter)
|
|
|
{
|