📄 ~ip_alias.~h
字号:
#ifndef _IP_ALIAS_H
#define _IP_ALIAS_H
#include "vector"
#include "ip_port.h"
//////////////////////////////////////////////////////////////////////////
// IP别名项
class ip_alias
{
ip_port ip;
CString alias;
public:
friend bool operator==(const ip_alias& it1, const ip_alias& it2);
ip_alias(){}
ip_alias(ip_port _ip){ip = _ip; alias.Empty();}
ip_alias(LPCTSTR al, LPCTSTR lpszIPPort)
{
alias = al; ip = lpszIPPort;
}
ip_alias(const ip_alias& ipt)
{
*this = ipt;
}
ip_alias& operator=(const ip_alias& ipt)
{
alias = ipt.alias;
ip = ipt.ip;
return *this;
}
operator LPCTSTR() {return ip;}
CString str_ip()
{
return ip.str_ip();
}
CString get_alias()
{
return alias;
}
USHORT look_port() const
{
return ip.look_port();
}
USHORT link_port() const
{
return ip.link_port();
}
ULONG get_ip() const
{
return ip.get_ip();
}
ip_port get_ip_port()
{
return ip;
}
void remove_from_reg();
void save_to_reg();
};
//////////////////////////////////////////////////////////////////////////
// IP别名管理器
class ip_alias_mgr
{
typedef std::vector<ip_alias> ip_alias_list;
ip_alias_list ial;
public:
void add(LPCTSTR alias, LPCTSTR ipport);
void remove_by_alias(LPCTSTR alias);
void remove_by_ip_port(LPCTSTR ipport);
/// 删除所有
void clear();
int count() const;
ip_alias& get(int index);
void update();
void load_reg();
void save_reg();
ip_alias& get(LPCTSTR alias);
ip_port trans_ip(LPCTSTR ip_or_alias);
CString get_alias(const ip_port& ip);
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 + -