📄 ip_alias.h
字号:
#ifndef _IP_ALIAS_H
#define _IP_ALIAS_H
#include "vector"
#include "ip_port.h"
//////////////////////////////////////////////////////////////////////////
// IP别名项
//##ModelId=3F90BAB8039A
class ip_alias
{
//##ModelId=3F90BAB803AF
ip_port ip;
//##ModelId=3F90BAB803B8
CString alias;
public:
//##ModelId=3F90BAB90034
friend bool operator==(const ip_alias& it1, const ip_alias& it2);
//##ModelId=3F90BAB803C2
ip_alias(){}
//##ModelId=3F90BAB803C3
ip_alias(ip_port _ip){ip = _ip; alias.Empty();}
//##ModelId=3F90BAB803CC
ip_alias(LPCTSTR al, LPCTSTR lpszIPPort)
{
alias = al; ip = lpszIPPort;
}
//##ModelId=3F90BAB803D7
ip_alias(const ip_alias& ipt)
{
*this = ipt;
}
//##ModelId=3F90BAB803E0
ip_alias& operator=(const ip_alias& ipt)
{
alias = ipt.alias;
ip = ipt.ip;
return *this;
}
//##ModelId=3F90BAB90002
operator LPCTSTR() {return ip;}
//##ModelId=3F90BAB90003
CString str_ip()
{
return ip.str_ip();
}
//##ModelId=3F90BAB9000C
CString get_alias()
{
return alias;
}
//##ModelId=3F90BAB9000D
USHORT look_port() const
{
return ip.look_port();
}
//##ModelId=3F90BAB90017
USHORT link_port() const
{
return ip.link_port();
}
//##ModelId=3F90BAB90020
ULONG get_ip() const
{
return ip.get_ip();
}
//##ModelId=3F90BAB90022
ip_port get_ip_port()
{
return ip;
}
//##ModelId=3F90BAB9002A
void remove_from_reg();
//##ModelId=3F90BAB9002B
void save_to_reg();
};
//////////////////////////////////////////////////////////////////////////
// IP别名管理器
//##ModelId=3F90BAB90052
class ip_alias_mgr
{
//##ModelId=3F90BAB900DF
typedef std::vector<ip_alias> ip_alias_list;
//##ModelId=3F90BAB90067
ip_alias_list ial;
public:
//##ModelId=3F90BAB90070
void add(LPCTSTR alias, LPCTSTR ipport);
//##ModelId=3F90BAB9007B
void remove_by_alias(LPCTSTR alias);
//##ModelId=3F90BAB90085
void remove_by_ip_port(LPCTSTR ipport);
/// 删除所有
//##ModelId=3F90BAB9008F
void clear();
//##ModelId=3F90BAB90098
int count() const;
//##ModelId=3F90BAB900A2
ip_alias& get(int index);
//##ModelId=3F90BAB900AC
void update();
//##ModelId=3F90BAB900AD
void load_reg();
//##ModelId=3F90BAB900B6
void save_reg();
//##ModelId=3F90BAB900B7
ip_alias& get(LPCTSTR alias);
//##ModelId=3F90BAB900C1
ip_port trans_ip(LPCTSTR ip_or_alias);
//##ModelId=3F90BAB900CA
CString get_alias(const ip_port& ip);
//##ModelId=3F90BAB900D4
CString get_alias(ULONG ip, USHORT port);
};
extern bool operator==(const ip_alias& it1, const ip_alias& it2);
#endif // _IP_ALIAS_H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -