updated codes to support C++20
This commit is contained in:
parent
18d4c312e5
commit
82b6b346dd
@ -37,21 +37,21 @@ namespace hgl
|
||||
int64 filelength;
|
||||
|
||||
uint response_code; //HTTP响应代码
|
||||
UTF8String response_info; //HTTP响应信息
|
||||
AnsiString response_info; //HTTP响应信息
|
||||
|
||||
UTF8PAttribSet response_list; //响应信息
|
||||
AnsiPAttribSet response_list; //响应信息
|
||||
|
||||
public:
|
||||
|
||||
HTTPInputStream();
|
||||
~HTTPInputStream();
|
||||
|
||||
bool Open(IPAddress *,const UTF8String &,const UTF8String &); ///<打开一个网址
|
||||
bool Open(IPAddress *,const AnsiString &,const AnsiString &); ///<打开一个网址
|
||||
void Close() override; ///<
|
||||
|
||||
uint GetResponseCode()const{return response_code;} ///<返回HTTP响应代码
|
||||
const UTF8String & GetResponseInfo()const{return response_info;} ///<返回HTTP响应信息
|
||||
const UTF8PAttribSet & GetResponseList()const{return response_list;} ///<返回HTTP响应信息列表
|
||||
const AnsiString & GetResponseInfo()const{return response_info;} ///<返回HTTP响应信息
|
||||
const AnsiPAttribSet & GetResponseList()const{return response_list;} ///<返回HTTP响应信息列表
|
||||
|
||||
int64 Read(void *,int64) override; ///<读取数据
|
||||
int64 Peek(void *,int64) override{return 0;} ///<预览数据
|
||||
|
@ -215,7 +215,7 @@ namespace hgl
|
||||
/**
|
||||
* 获取当前地址的主机名称
|
||||
*/
|
||||
virtual bool GetHostname(UTF8String &)const=0;
|
||||
virtual bool GetHostname(AnsiString &)const=0;
|
||||
|
||||
virtual sockaddr *GetSockAddr()=0;
|
||||
|
||||
@ -234,15 +234,15 @@ namespace hgl
|
||||
/**
|
||||
* 转换当前地址到一个可视字符串,字符串所需长度请使用GetIPStringMaxSize()获取
|
||||
*/
|
||||
virtual void ToString(u8char *,int)const=0;
|
||||
virtual void ToString(char *,int)const=0;
|
||||
|
||||
/**
|
||||
* 创建一个可视字符串地址,需自行delete[]
|
||||
*/
|
||||
virtual u8char *CreateString()const
|
||||
virtual char *CreateString()const
|
||||
{
|
||||
const int max_size=GetIPStringMaxSize();
|
||||
u8char *ipstr=new u8char[max_size+1];
|
||||
char *ipstr=new char[max_size+1];
|
||||
|
||||
ToString(ipstr,max_size);
|
||||
|
||||
@ -314,7 +314,7 @@ namespace hgl
|
||||
}
|
||||
void Set(ushort port) override;
|
||||
bool Bind(int ThisSocket,int reuse=1)const override;
|
||||
bool GetHostname(UTF8String &)const override;
|
||||
bool GetHostname(AnsiString &)const override;
|
||||
|
||||
sockaddr *GetSockAddr()override{return (sockaddr *)&addr;}
|
||||
|
||||
@ -324,9 +324,9 @@ namespace hgl
|
||||
const uint32 GetInt32IP()const{return addr.sin_addr.s_addr;}
|
||||
const ushort GetPort()const override;
|
||||
|
||||
static void ToString(u8char *str,const int,const in_addr *);
|
||||
static void ToString(u8char *str,const int,const sockaddr_in *);
|
||||
void ToString(u8char *str,const int)const override;
|
||||
static void ToString(char *str,const int,const in_addr *);
|
||||
static void ToString(char *str,const int,const sockaddr_in *);
|
||||
void ToString(char *str,const int)const override;
|
||||
|
||||
static int GetDomainIPList(List<in_addr> &addr_list,const char *domain,int _socktype,int _protocol); ///<取得当指定域名的IPv4地址列表
|
||||
static int GetLocalIPList(List<in_addr> &addr_list,int _socktype,int _protocol); ///<取得本机的IPv4地址列表
|
||||
@ -383,7 +383,7 @@ namespace hgl
|
||||
bool Set(const char *name,ushort port,int _socktype,int _protocol) override;
|
||||
void Set(ushort port) override;
|
||||
bool Bind(int ThisSocket,int reuse=1)const override;
|
||||
bool GetHostname(UTF8String &)const override;
|
||||
bool GetHostname(AnsiString &)const override;
|
||||
|
||||
sockaddr *GetSockAddr() override{return (sockaddr *)&addr;}
|
||||
|
||||
@ -392,9 +392,9 @@ namespace hgl
|
||||
|
||||
const ushort GetPort()const override;
|
||||
|
||||
static void ToString(u8char *str,const int,const in6_addr *);
|
||||
static void ToString(u8char *str,const int,const sockaddr_in6 *);
|
||||
void ToString(u8char *str,const int)const override;
|
||||
static void ToString(char *str,const int,const in6_addr *);
|
||||
static void ToString(char *str,const int,const sockaddr_in6 *);
|
||||
void ToString(char *str,const int)const override;
|
||||
|
||||
static int GetDomainIPList(List<in6_addr> &addr_list,const char *domain,int _socktype,int _protocol); ///<取得指定域名的IPv6地址列表
|
||||
static int GetLocalIPList(List<in6_addr> &addr_list,int _socktype,int _protocol); ///<取得本机的IPv6地址列表
|
||||
|
@ -50,7 +50,7 @@ namespace hgl
|
||||
* @param filename 路径及文件名 /download/hgl.rar 之类
|
||||
* @return 打开文件是否成功
|
||||
*/
|
||||
bool HTTPInputStream::Open(IPAddress *host_ip,const UTF8String &host_name,const UTF8String &filename)
|
||||
bool HTTPInputStream::Open(IPAddress *host_ip,const AnsiString &host_name,const AnsiString &filename)
|
||||
{
|
||||
Close();
|
||||
|
||||
@ -71,7 +71,7 @@ namespace hgl
|
||||
|
||||
if(!tcp)
|
||||
{
|
||||
LOG_ERROR(U8_TEXT("Connect to HTTPServer failed: ")+UTF8String(host_ip_str));
|
||||
LOG_ERROR("Connect to HTTPServer failed: "+AnsiString(host_ip_str));
|
||||
RETURN_FALSE;
|
||||
}
|
||||
|
||||
@ -91,7 +91,7 @@ namespace hgl
|
||||
|
||||
if(tcp_os->WriteFully(http_header,len)!=len)
|
||||
{
|
||||
LOG_ERROR(U8_TEXT("Send HTTP Get Info failed:")+UTF8String(host_ip_str));
|
||||
LOG_ERROR("Send HTTP Get Info failed:"+AnsiString(host_ip_str));
|
||||
delete tcp;
|
||||
tcp=nullptr;
|
||||
RETURN_FALSE;
|
||||
@ -147,8 +147,8 @@ namespace hgl
|
||||
|
||||
if(!second)break;
|
||||
|
||||
UTF8String key;
|
||||
UTF8String value;
|
||||
AnsiString key;
|
||||
AnsiString value;
|
||||
|
||||
key.SetString(first,second-first);
|
||||
|
||||
@ -160,7 +160,7 @@ namespace hgl
|
||||
value.SetString(first,second-first);
|
||||
offset=second;
|
||||
|
||||
response_list.Add(key,value);
|
||||
response_list.CreateStringAttrib(key,value);
|
||||
}
|
||||
}
|
||||
|
||||
@ -203,7 +203,7 @@ namespace hgl
|
||||
}
|
||||
else
|
||||
{
|
||||
LOG_ERROR(U8_TEXT("HTTPServer error info: ")+UTF8String(http_header));
|
||||
LOG_ERROR("HTTPServer error info: "+AnsiString(http_header));
|
||||
return(-1);
|
||||
}
|
||||
}
|
||||
|
@ -86,7 +86,7 @@ namespace hgl
|
||||
return(true);
|
||||
}
|
||||
|
||||
bool GetHostname(UTF8String &name,const sockaddr *addr)
|
||||
bool GetHostname(AnsiString &name,const sockaddr *addr)
|
||||
{
|
||||
char hostname[NI_MAXHOST];
|
||||
char server_info[NI_MAXSERV];
|
||||
@ -94,7 +94,7 @@ namespace hgl
|
||||
if(getnameinfo(addr,sizeof(struct sockaddr),hostname,NI_MAXHOST,server_info,NI_MAXSERV,NI_NUMERICSERV))
|
||||
return(false);
|
||||
|
||||
name=(u8char *)hostname;
|
||||
name=hostname;
|
||||
return(true);
|
||||
}
|
||||
|
||||
@ -276,7 +276,7 @@ namespace hgl
|
||||
}
|
||||
|
||||
bool IPv4Address::Bind(int ThisSocket,int reuse)const{return BindAddr<sockaddr,sockaddr_in>(ThisSocket,addr,reuse);}
|
||||
bool IPv4Address::GetHostname(UTF8String &name)const{return hgl::network::GetHostname(name,(sockaddr *)&addr);}
|
||||
bool IPv4Address::GetHostname(AnsiString &name)const{return hgl::network::GetHostname(name,(sockaddr *)&addr);}
|
||||
|
||||
const ushort IPv4Address::GetPort()const{return addr.sin_port;}
|
||||
|
||||
@ -366,7 +366,7 @@ namespace hgl
|
||||
}
|
||||
|
||||
bool IPv6Address::Bind(int ThisSocket,int reuse)const{return BindAddr<sockaddr,sockaddr_in6>(ThisSocket,addr,reuse);}
|
||||
bool IPv6Address::GetHostname(UTF8String &name)const{return hgl::network::GetHostname(name,(sockaddr *)&addr);}
|
||||
bool IPv6Address::GetHostname(AnsiString &name)const{return hgl::network::GetHostname(name,(sockaddr *)&addr);}
|
||||
|
||||
const ushort IPv6Address::GetPort()const{return addr.sin6_port;}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user