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; int64 filelength;
uint response_code; //HTTP响应代码 uint response_code; //HTTP响应代码
UTF8String response_info; //HTTP响应信息 AnsiString response_info; //HTTP响应信息
UTF8PAttribSet response_list; //响应信息 AnsiPAttribSet response_list; //响应信息
public: public:
HTTPInputStream(); HTTPInputStream();
~HTTPInputStream(); ~HTTPInputStream();
bool Open(IPAddress *,const UTF8String &,const UTF8String &); ///<打开一个网址 bool Open(IPAddress *,const AnsiString &,const AnsiString &); ///<打开一个网址
void Close() override; ///< void Close() override; ///<
uint GetResponseCode()const{return response_code;} ///<返回HTTP响应代码 uint GetResponseCode()const{return response_code;} ///<返回HTTP响应代码
const UTF8String & GetResponseInfo()const{return response_info;} ///<返回HTTP响应信息 const AnsiString & GetResponseInfo()const{return response_info;} ///<返回HTTP响应信息
const UTF8PAttribSet & GetResponseList()const{return response_list;} ///<返回HTTP响应信息列表 const AnsiPAttribSet & GetResponseList()const{return response_list;} ///<返回HTTP响应信息列表
int64 Read(void *,int64) override; ///<读取数据 int64 Read(void *,int64) override; ///<读取数据
int64 Peek(void *,int64) override{return 0;} ///<预览数据 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; virtual sockaddr *GetSockAddr()=0;
@ -234,15 +234,15 @@ namespace hgl
/** /**
* ,使GetIPStringMaxSize() * ,使GetIPStringMaxSize()
*/ */
virtual void ToString(u8char *,int)const=0; virtual void ToString(char *,int)const=0;
/** /**
* delete[] * delete[]
*/ */
virtual u8char *CreateString()const virtual char *CreateString()const
{ {
const int max_size=GetIPStringMaxSize(); const int max_size=GetIPStringMaxSize();
u8char *ipstr=new u8char[max_size+1]; char *ipstr=new char[max_size+1];
ToString(ipstr,max_size); ToString(ipstr,max_size);
@ -314,7 +314,7 @@ namespace hgl
} }
void Set(ushort port) override; void Set(ushort port) override;
bool Bind(int ThisSocket,int reuse=1)const 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;} sockaddr *GetSockAddr()override{return (sockaddr *)&addr;}
@ -324,9 +324,9 @@ namespace hgl
const uint32 GetInt32IP()const{return addr.sin_addr.s_addr;} const uint32 GetInt32IP()const{return addr.sin_addr.s_addr;}
const ushort GetPort()const override; const ushort GetPort()const override;
static void ToString(u8char *str,const int,const in_addr *); static void ToString(char *str,const int,const in_addr *);
static void ToString(u8char *str,const int,const sockaddr_in *); static void ToString(char *str,const int,const sockaddr_in *);
void ToString(u8char *str,const int)const override; 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 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地址列表 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; bool Set(const char *name,ushort port,int _socktype,int _protocol) override;
void Set(ushort port) override; void Set(ushort port) override;
bool Bind(int ThisSocket,int reuse=1)const 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;} sockaddr *GetSockAddr() override{return (sockaddr *)&addr;}
@ -392,9 +392,9 @@ namespace hgl
const ushort GetPort()const override; const ushort GetPort()const override;
static void ToString(u8char *str,const int,const in6_addr *); static void ToString(char *str,const int,const in6_addr *);
static void ToString(u8char *str,const int,const sockaddr_in6 *); static void ToString(char *str,const int,const sockaddr_in6 *);
void ToString(u8char *str,const int)const override; 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 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地址列表 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 * @param filename /download/hgl.rar
* @return * @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(); Close();
@ -71,7 +71,7 @@ namespace hgl
if(!tcp) 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; RETURN_FALSE;
} }
@ -91,7 +91,7 @@ namespace hgl
if(tcp_os->WriteFully(http_header,len)!=len) 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; delete tcp;
tcp=nullptr; tcp=nullptr;
RETURN_FALSE; RETURN_FALSE;
@ -147,8 +147,8 @@ namespace hgl
if(!second)break; if(!second)break;
UTF8String key; AnsiString key;
UTF8String value; AnsiString value;
key.SetString(first,second-first); key.SetString(first,second-first);
@ -160,7 +160,7 @@ namespace hgl
value.SetString(first,second-first); value.SetString(first,second-first);
offset=second; offset=second;
response_list.Add(key,value); response_list.CreateStringAttrib(key,value);
} }
} }
@ -203,7 +203,7 @@ namespace hgl
} }
else else
{ {
LOG_ERROR(U8_TEXT("HTTPServer error info: ")+UTF8String(http_header)); LOG_ERROR("HTTPServer error info: "+AnsiString(http_header));
return(-1); return(-1);
} }
} }

View File

@ -86,7 +86,7 @@ namespace hgl
return(true); return(true);
} }
bool GetHostname(UTF8String &name,const sockaddr *addr) bool GetHostname(AnsiString &name,const sockaddr *addr)
{ {
char hostname[NI_MAXHOST]; char hostname[NI_MAXHOST];
char server_info[NI_MAXSERV]; 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)) if(getnameinfo(addr,sizeof(struct sockaddr),hostname,NI_MAXHOST,server_info,NI_MAXSERV,NI_NUMERICSERV))
return(false); return(false);
name=(u8char *)hostname; name=hostname;
return(true); 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::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;} 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::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;} const ushort IPv6Address::GetPort()const{return addr.sin6_port;}