Migrate int.IP_TYPE_ constants to IP.TYPE_

(cherry picked from commit c18c5013f8)
This commit is contained in:
Fabio Alessandrelli 2016-12-01 06:34:05 +01:00
parent 47ae6c6507
commit e8a6cbc897
23 changed files with 61 additions and 81 deletions

View file

@ -29,9 +29,7 @@
#include "http_client.h"
#include "io/stream_peer_ssl.h"
VARIANT_ENUM_CAST(IP_Address::AddrType);
Error HTTPClient::connect(const String &p_host, int p_port, bool p_ssl,bool p_verify_host, IP_Address::AddrType p_addr_type){
Error HTTPClient::connect(const String &p_host, int p_port, bool p_ssl,bool p_verify_host, IP::Type p_addr_type){
close();
conn_port=p_port;
@ -636,7 +634,7 @@ Error HTTPClient::_get_http_data(uint8_t* p_buffer, int p_bytes,int &r_received)
void HTTPClient::_bind_methods() {
ObjectTypeDB::bind_method(_MD("connect:Error","host","port","use_ssl","verify_host"),&HTTPClient::connect,DEFVAL(false),DEFVAL(true),DEFVAL(IP_Address::TYPE_ANY));
ObjectTypeDB::bind_method(_MD("connect:Error","host","port","use_ssl","verify_host"),&HTTPClient::connect,DEFVAL(false),DEFVAL(true),DEFVAL(IP::TYPE_ANY));
ObjectTypeDB::bind_method(_MD("set_connection","connection:StreamPeer"),&HTTPClient::set_connection);
ObjectTypeDB::bind_method(_MD("get_connection:StreamPeer"),&HTTPClient::get_connection);
ObjectTypeDB::bind_method(_MD("request_raw","method","url","headers","body"),&HTTPClient::request_raw);

View file

@ -165,7 +165,7 @@ public:
//Error connect_and_get(const String& p_url,bool p_verify_host=true); //connects to a full url and perform request
Error connect(const String &p_host,int p_port,bool p_ssl=false,bool p_verify_host=true, IP_Address::AddrType p_addr_type = IP_Address::TYPE_ANY);
Error connect(const String &p_host,int p_port,bool p_ssl=false,bool p_verify_host=true, IP::Type p_addr_type = IP::TYPE_ANY);
void set_connection(const Ref<StreamPeer>& p_connection);
Ref<StreamPeer> get_connection() const;

View file

@ -32,7 +32,6 @@
#include "hash_map.h"
VARIANT_ENUM_CAST(IP::ResolverStatus);
VARIANT_ENUM_CAST(IP_Address::AddrType);
/************* RESOLVER ******************/
@ -44,12 +43,12 @@ struct _IP_ResolverPrivate {
volatile IP::ResolverStatus status;
IP_Address response;
String hostname;
IP_Address::AddrType type;
IP::Type type;
void clear() {
status = IP::RESOLVER_STATUS_NONE;
response = IP_Address();
type = IP_Address::TYPE_NONE;
type = IP::TYPE_NONE;
hostname="";
};
@ -112,7 +111,7 @@ struct _IP_ResolverPrivate {
IP_Address IP::resolve_hostname(const String& p_hostname, IP_Address::AddrType p_type) {
IP_Address IP::resolve_hostname(const String& p_hostname, IP::Type p_type) {
GLOBAL_LOCK_FUNCTION;
@ -126,7 +125,7 @@ IP_Address IP::resolve_hostname(const String& p_hostname, IP_Address::AddrType p
return res;
}
IP::ResolverID IP::resolve_hostname_queue_item(const String& p_hostname, IP_Address::AddrType p_type) {
IP::ResolverID IP::resolve_hostname_queue_item(const String& p_hostname, IP::Type p_type) {
GLOBAL_LOCK_FUNCTION;
@ -212,8 +211,8 @@ Array IP::_get_local_addresses() const {
void IP::_bind_methods() {
ObjectTypeDB::bind_method(_MD("resolve_hostname","host","ip_type"),&IP::resolve_hostname,DEFVAL(IP_Address::TYPE_ANY));
ObjectTypeDB::bind_method(_MD("resolve_hostname_queue_item","host","ip_type"),&IP::resolve_hostname_queue_item,DEFVAL(IP_Address::TYPE_ANY));
ObjectTypeDB::bind_method(_MD("resolve_hostname","host","ip_type"),&IP::resolve_hostname,DEFVAL(IP::TYPE_ANY));
ObjectTypeDB::bind_method(_MD("resolve_hostname_queue_item","host","ip_type"),&IP::resolve_hostname_queue_item,DEFVAL(IP::TYPE_ANY));
ObjectTypeDB::bind_method(_MD("get_resolve_item_status","id"),&IP::get_resolve_item_status);
ObjectTypeDB::bind_method(_MD("get_resolve_item_address","id"),&IP::get_resolve_item_address);
ObjectTypeDB::bind_method(_MD("erase_resolve_item","id"),&IP::erase_resolve_item);
@ -228,6 +227,10 @@ void IP::_bind_methods() {
BIND_CONSTANT( RESOLVER_MAX_QUERIES );
BIND_CONSTANT( RESOLVER_INVALID_ID );
BIND_CONSTANT( TYPE_NONE );
BIND_CONSTANT( TYPE_IPV4 );
BIND_CONSTANT( TYPE_IPV6 );
BIND_CONSTANT( TYPE_ANY );
}

View file

@ -48,12 +48,12 @@ public:
RESOLVER_STATUS_ERROR,
};
enum AddressType {
enum Type {
ADDRESS_IPV4 = 1,
ADDRESS_IPV6 = 2,
ADDRESS_ANY = 3,
TYPE_NONE = 0,
TYPE_IPV4 = 1,
TYPE_IPV6 = 2,
TYPE_ANY = 3,
};
enum {
@ -73,7 +73,7 @@ protected:
static IP*singleton;
static void _bind_methods();
virtual IP_Address _resolve_hostname(const String& p_hostname, IP_Address::AddrType p_type = IP_Address::TYPE_ANY)=0;
virtual IP_Address _resolve_hostname(const String& p_hostname, Type p_type = TYPE_ANY)=0;
Array _get_local_addresses() const;
static IP* (*_create)();
@ -81,9 +81,9 @@ public:
IP_Address resolve_hostname(const String& p_hostname, IP_Address::AddrType p_type = IP_Address::TYPE_ANY);
IP_Address resolve_hostname(const String& p_hostname, Type p_type = TYPE_ANY);
// async resolver hostname
ResolverID resolve_hostname_queue_item(const String& p_hostname, IP_Address::AddrType p_type = IP_Address::TYPE_ANY);
ResolverID resolve_hostname_queue_item(const String& p_hostname, Type p_type = TYPE_ANY);
ResolverStatus get_resolve_item_status(ResolverID p_id) const;
IP_Address get_resolve_item_address(ResolverID p_id) const;
virtual void get_local_addresses(List<IP_Address> *r_addresses) const=0;
@ -101,4 +101,6 @@ public:
};
VARIANT_ENUM_CAST(IP::Type);
#endif // IP_H

View file

@ -31,8 +31,6 @@
PacketPeerUDP* (*PacketPeerUDP::_create)()=NULL;
VARIANT_ENUM_CAST(IP_Address::AddrType);
String PacketPeerUDP::_get_packet_ip() const {
return get_packet_address();
@ -83,5 +81,5 @@ PacketPeerUDP* PacketPeerUDP::create() {
PacketPeerUDP::PacketPeerUDP()
{
ip_type = IP_Address::TYPE_ANY;
ip_type = IP::TYPE_ANY;
}

View file

@ -30,6 +30,7 @@
#define PACKET_PEER_UDP_H
#include "io/ip.h"
#include "io/packet_peer.h"
class PacketPeerUDP : public PacketPeer {
@ -37,7 +38,7 @@ class PacketPeerUDP : public PacketPeer {
protected:
IP_Address::AddrType ip_type;
IP::Type ip_type;
static PacketPeerUDP* (*_create)();
static void _bind_methods();

View file

@ -30,8 +30,6 @@
StreamPeerTCP* (*StreamPeerTCP::_create)()=NULL;
VARIANT_ENUM_CAST(IP_Address::AddrType);
Error StreamPeerTCP::_connect(const String& p_address,int p_port) {
IP_Address ip;
@ -79,7 +77,7 @@ StreamPeerTCP* StreamPeerTCP::create() {
StreamPeerTCP::StreamPeerTCP() {
ip_type = IP_Address::TYPE_ANY;
ip_type = IP::TYPE_ANY;
}
StreamPeerTCP::~StreamPeerTCP() {

View file

@ -51,7 +51,7 @@ public:
protected:
IP_Address::AddrType ip_type;
IP::Type ip_type;
virtual Error _connect(const String& p_address, int p_port);
static StreamPeerTCP* (*_create)();

View file

@ -30,8 +30,6 @@
TCP_Server* (*TCP_Server::_create)()=NULL;
VARIANT_ENUM_CAST(IP_Address::AddrType);
Ref<TCP_Server> TCP_Server::create_ref() {
if (!_create)
@ -68,5 +66,5 @@ void TCP_Server::_bind_methods() {
TCP_Server::TCP_Server()
{
ip_type = IP_Address::TYPE_ANY;
ip_type = IP::TYPE_ANY;
}

View file

@ -38,7 +38,7 @@ class TCP_Server : public Reference {
OBJ_TYPE( TCP_Server, Reference );
protected:
IP_Address::AddrType ip_type;
IP::Type ip_type;
static TCP_Server* (*_create)();

View file

@ -1761,10 +1761,6 @@ _VariantCall::addfunc(Variant::m_vtype,Variant::m_ret,_SCS(#m_method),VCALL(m_cl
_VariantCall::add_constant(Variant::IMAGE,"INTERPOLATE_BILINEAR",Image::INTERPOLATE_BILINEAR);
_VariantCall::add_constant(Variant::IMAGE,"INTERPOLATE_CUBIC",Image::INTERPOLATE_CUBIC);
_VariantCall::add_constant(Variant::INT, "IP_TYPE_NONE", IP_Address::TYPE_NONE);
_VariantCall::add_constant(Variant::INT, "IP_TYPE_IPV4", IP_Address::TYPE_IPV4);
_VariantCall::add_constant(Variant::INT, "IP_TYPE_IPV6", IP_Address::TYPE_IPV6);
_VariantCall::add_constant(Variant::INT, "IP_TYPE_ANY", IP_Address::TYPE_ANY);
}
void unregister_variant_methods() {

View file

@ -15596,7 +15596,7 @@
</return>
<argument index="0" name="host" type="String">
</argument>
<argument index="1" name="ip_type" type="int" default="int.IP_TYPE_ANY">
<argument index="1" name="ip_type" type="int" default="IP.TYPE_ANY">
</argument>
<description>
Resolve a given hostname, blocking. Resolved hostname is returned as an IPv4 or IPv6 depending on "ip_type".
@ -15607,7 +15607,7 @@
</return>
<argument index="0" name="host" type="String">
</argument>
<argument index="1" name="ip_type" type="int" default="int.IP_TYPE_ANY">
<argument index="1" name="ip_type" type="int" default="IP.TYPE_ANY">
</argument>
<description>
Create a queue item for resolving a given hostname to an IPv4 or IPv6 depending on "ip_type". The queue ID is returned, or RESOLVER_INVALID_ID on error.
@ -24544,15 +24544,10 @@
</return>
<argument index="0" name="port" type="int">
</argument>
<argument index="1" name="ip_type" type="int" default="int.IP_TYPE_ANY">
</argument>
<argument index="2" name="recv_buf_size" type="int" default="65536">
<argument index="1" name="recv_buf_size" type="int" default="65536">
</argument>
<description>
Make this [PacketPeerUDP] listen on the "port" using protocol "ip_type" and a buffer size "recv_buf_size". Listens on all available adresses.
IP_TYPE_IPV4 = IPv4 only
IP_TYPE_IPV6 = IPv6 only
IP_TYPE_ANY = Dual stack (supports both IPv6 and IPv4 connections).
Make this [PacketPeerUDP] listen on the "port" with a buffer size "recv_buf_size". Listens on all available addresses.
</description>
</method>
<method name="set_send_address">
@ -24562,10 +24557,8 @@
</argument>
<argument index="1" name="port" type="int">
</argument>
<argument index="2" name="ip_type" type="int" default="int.IP_TYPE_ANY">
</argument>
<description>
Set the destination address and port for sending packets and variables, a hostname will be resolved using "ip_type" (v4/v6/any) if valid.
Set the destination address and port for sending packets and variables, a hostname will be resolved using if valid.
</description>
</method>
<method name="wait">
@ -38130,10 +38123,8 @@
</argument>
<argument index="1" name="port" type="int">
</argument>
<argument index="2" name="ip_type" type="int" default="int.IP_TYPE_ANY">
</argument>
<description>
Connect to the specified host:port pair. A hostname will be resolved using "ip_type" (v4/v6/any) if valid. Returns [OK] on success or [FAILED] on failure.
Connect to the specified host:port pair. A hostname will be resolved if valid. Returns [OK] on success or [FAILED] on failure.
</description>
</method>
<method name="disconnect">
@ -39644,15 +39635,10 @@
</return>
<argument index="0" name="port" type="int">
</argument>
<argument index="1" name="ip_type" type="int" default="int.IP_TYPE_ANY">
</argument>
<argument index="2" name="accepted_hosts" type="StringArray" default="StringArray([])">
<argument index="1" name="accepted_hosts" type="StringArray" default="StringArray([])">
</argument>
<description>
Listen on a port using protocol "ip_type", alternatively give a white-list of accepted hosts.
IP_TYPE_IPV4 = IPv4 only
IP_TYPE_IPV6 = IPv6 only
IP_TYPE_ANY = Dual stack (supports both IPv6 and IPv4 connections).
Listen on a port using protocol, alternatively give a white-list of accepted hosts.
</description>
</method>
<method name="stop">

View file

@ -87,15 +87,15 @@ static IP_Address _sockaddr2ip(struct sockaddr* p_addr) {
return ip;
};
IP_Address IP_Unix::_resolve_hostname(const String& p_hostname, IP_Address::AddrType p_type) {
IP_Address IP_Unix::_resolve_hostname(const String& p_hostname, Type p_type) {
struct addrinfo hints;
struct addrinfo* result;
memset(&hints, 0, sizeof(struct addrinfo));
if (p_type == IP_Address::TYPE_IPV4) {
if (p_type == TYPE_IPV4) {
hints.ai_family = AF_INET;
} else if (p_type == IP_Address::TYPE_IPV6) {
} else if (p_type == TYPE_IPV6) {
hints.ai_family = AF_INET6;
hints.ai_flags = 0;
} else {

View file

@ -36,7 +36,7 @@
class IP_Unix : public IP {
OBJ_TYPE(IP_Unix, IP);
virtual IP_Address _resolve_hostname(const String& p_hostname, IP_Address::AddrType p_type);
virtual IP_Address _resolve_hostname(const String& p_hostname, IP::Type p_type);
static IP* _create_unix();
public:

View file

@ -251,7 +251,7 @@ PacketPeerUDPPosix::PacketPeerUDPPosix() {
packet_port=0;
queue_count=0;
peer_port=0;
ip_type = IP_Address::TYPE_ANY;
ip_type = IP::TYPE_ANY;
}
PacketPeerUDPPosix::~PacketPeerUDPPosix() {

View file

@ -12,15 +12,15 @@
// helpers for sockaddr -> IP_Address and back, should work for posix and winsock. All implementations should use this
static size_t _set_sockaddr(struct sockaddr_storage* p_addr, const IP_Address& p_ip, int p_port, IP_Address::AddrType p_sock_type = IP_Address::TYPE_ANY) {
static size_t _set_sockaddr(struct sockaddr_storage* p_addr, const IP_Address& p_ip, int p_port, IP::Type p_sock_type = IP::TYPE_ANY) {
memset(p_addr, 0, sizeof(struct sockaddr_storage));
// Dual stack (ANY) or matching ip type is required
ERR_FAIL_COND_V(p_sock_type != IP_Address::TYPE_ANY && p_sock_type != p_ip.type,0);
ERR_FAIL_COND_V(p_sock_type != IP::TYPE_ANY && p_sock_type != p_ip.type,0);
// IPv6 socket
if (p_sock_type == IP_Address::TYPE_IPV6 || p_sock_type == IP_Address::TYPE_ANY) {
if (p_sock_type == IP::TYPE_IPV6 || p_sock_type == IP::TYPE_ANY) {
struct sockaddr_in6* addr6 = (struct sockaddr_in6*)p_addr;
addr6->sin6_family = AF_INET6;
@ -45,10 +45,10 @@ static size_t _set_sockaddr(struct sockaddr_storage* p_addr, const IP_Address& p
};
};
static size_t _set_listen_sockaddr(struct sockaddr_storage* p_addr, int p_port, IP_Address::AddrType p_address_type, const List<String> *p_accepted_hosts) {
static size_t _set_listen_sockaddr(struct sockaddr_storage* p_addr, int p_port, IP::Type p_sock_type, const List<String> *p_accepted_hosts) {
memset(p_addr, 0, sizeof(struct sockaddr_storage));
if (p_address_type == IP_Address::TYPE_IPV4) {
if (p_sock_type == IP::TYPE_IPV4) {
struct sockaddr_in* addr4 = (struct sockaddr_in*)p_addr;
addr4->sin_family = AF_INET;
addr4->sin_port = htons(p_port);
@ -64,18 +64,18 @@ static size_t _set_listen_sockaddr(struct sockaddr_storage* p_addr, int p_port,
};
};
static int _socket_create(IP_Address::AddrType p_type, int type, int protocol) {
static int _socket_create(IP::Type p_type, int type, int protocol) {
ERR_FAIL_COND_V(p_type > IP_Address::TYPE_ANY || p_type < IP_Address::TYPE_NONE, ERR_INVALID_PARAMETER);
ERR_FAIL_COND_V(p_type > IP::TYPE_ANY || p_type < IP::TYPE_NONE, ERR_INVALID_PARAMETER);
int family = p_type == IP_Address::TYPE_IPV4 ? AF_INET : AF_INET6;
int family = p_type == IP::TYPE_IPV4 ? AF_INET : AF_INET6;
int sockfd = socket(family, type, protocol);
ERR_FAIL_COND_V( sockfd == -1, -1 );
if(family == AF_INET6) {
// Select IPv4 over IPv6 mapping
int opt = p_type != IP_Address::TYPE_ANY;
int opt = p_type != IP::TYPE_ANY;
if(setsockopt(sockfd, IPPROTO_IPV6, IPV6_V6ONLY, (const char*)&opt, sizeof(opt)) != 0) {
WARN_PRINT("Unable to set/unset IPv4 address mapping over IPv6");
}

View file

@ -122,7 +122,7 @@ Error StreamPeerTCPPosix::_poll_connection(bool p_block) const {
return OK;
};
void StreamPeerTCPPosix::set_socket(int p_sockfd, IP_Address p_host, int p_port, IP_Address::AddrType p_ip_type) {
void StreamPeerTCPPosix::set_socket(int p_sockfd, IP_Address p_host, int p_port, IP::Type p_ip_type) {
ip_type = p_ip_type;
sockfd = p_sockfd;
@ -393,7 +393,7 @@ StreamPeerTCPPosix::StreamPeerTCPPosix() {
sockfd = -1;
status = STATUS_NONE;
peer_port = 0;
ip_type = IP_Address::TYPE_ANY;
ip_type = IP::TYPE_ANY;
};
StreamPeerTCPPosix::~StreamPeerTCPPosix() {

View file

@ -69,7 +69,7 @@ public:
virtual int get_available_bytes() const;
void set_socket(int p_sockfd, IP_Address p_host, int p_port, IP_Address::AddrType p_ip_type);
void set_socket(int p_sockfd, IP_Address p_host, int p_port, IP::Type p_ip_type);
virtual IP_Address get_connected_host() const;
virtual uint16_t get_connected_port() const;

View file

@ -176,7 +176,7 @@ void TCPServerPosix::stop() {
TCPServerPosix::TCPServerPosix() {
listen_sockfd = -1;
ip_type = IP_Address::TYPE_ANY;
ip_type = IP::TYPE_ANY;
};
TCPServerPosix::~TCPServerPosix() {

View file

@ -269,7 +269,7 @@ PacketPeerUDPWinsock::PacketPeerUDPWinsock() {
packet_port=0;
queue_count=0;
peer_port=0;
ip_type = IP_Address::TYPE_ANY;
ip_type = IP::TYPE_ANY;
}
PacketPeerUDPWinsock::~PacketPeerUDPWinsock() {

View file

@ -289,7 +289,7 @@ void StreamPeerWinsock::disconnect() {
peer_port = 0;
};
void StreamPeerWinsock::set_socket(int p_sockfd, IP_Address p_host, int p_port, IP_Address::AddrType p_ip_type) {
void StreamPeerWinsock::set_socket(int p_sockfd, IP_Address p_host, int p_port, IP::Type p_ip_type) {
ip_type = p_ip_type;
sockfd = p_sockfd;
@ -368,7 +368,7 @@ StreamPeerWinsock::StreamPeerWinsock() {
sockfd = INVALID_SOCKET;
status = STATUS_NONE;
peer_port = 0;
ip_type = IP_Address::TYPE_ANY;
ip_type = IP::TYPE_ANY;
};
StreamPeerWinsock::~StreamPeerWinsock() {

View file

@ -68,7 +68,7 @@ public:
virtual int get_available_bytes() const;
void set_socket(int p_sockfd, IP_Address p_host, int p_port, IP_Address::AddrType p_ip_type);
void set_socket(int p_sockfd, IP_Address p_host, int p_port, IP::Type p_ip_type);
virtual IP_Address get_connected_host() const;
virtual uint16_t get_connected_port() const;

View file

@ -168,7 +168,7 @@ void TCPServerWinsock::stop() {
TCPServerWinsock::TCPServerWinsock() {
listen_sockfd = INVALID_SOCKET;
ip_type = IP_Address::TYPE_ANY;
ip_type = IP::TYPE_ANY;
};
TCPServerWinsock::~TCPServerWinsock() {