updated codes to support C++20

This commit is contained in:
hyzboy 2024-07-27 22:26:12 +08:00
parent 18d4c312e5
commit 82b6b346dd
4 changed files with 28 additions and 28 deletions

View File

@ -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;} ///<预览数据

View File

@ -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地址列表

View File

@ -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);
}
}

View File

@ -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;}