?? ~ip_alias.~cpp
字號:
#include "stdafx.h"
#include "ip_alias.h"
#include "reg.h"
LPCTSTR rkIPAlias = _T("Settings\\IPAlias");
bool operator==(const ip_alias& it1, const ip_alias& it2)
{
return (it1.ip == it2.ip);
}
void ip_alias::save_to_reg()
{
write_string(rkIPAlias, alias, ip);
}
void ip_alias::remove_from_reg()
{
delete_string(rkIPAlias, alias);
}
//////////////////////////////////////////////////////////////////////////
void ip_alias_mgr::add(LPCTSTR alias, LPCTSTR ip)
{
// ia.push_back(ip_alias(alias, ip));
ip_alias ia(alias, ip);
ia.save_to_reg();
update();
}
void ip_alias_mgr::remove_by_alias(LPCTSTR alias)
{
for( int i=0; i<ial.size(); i++ )
{
if( ial[i].get_alias().CompareNoCase(alias) == 0 )
{
ial[i].remove_from_reg();
update();
return;
}
}
}
void ip_alias_mgr::remove_by_ip_port(LPCTSTR ipport)
{
for( int i=0; i<ial.size(); i++ )
{
if( ial[i].str_ip().CompareNoCase(ipport) == 0 )
{
ial[i].remove_from_reg();
update();
return;
}
}
}
void ip_alias_mgr::clear()
{
for( int i=0; i<ial.size(); i++ )
{
ial[i].remove_from_reg();
}
ial.clear();
}
void ip_alias_mgr::update()
{
load_reg();
}
void ip_alias_mgr::load_reg()
{
ial.clear();
enum_reg<ip_alias_list, ip_alias>(rkIPAlias, ial);
}
void ip_alias_mgr::save_reg()
{
for(int i=0; i<ial.size(); i++ )
ial[i].save_to_reg();
}
int ip_alias_mgr::count() const
{
return ial.size();
}
ip_alias& ip_alias_mgr::get(int index)
{
return ial[index];
}
ip_alias& ip_alias_mgr::get(LPCTSTR alias)
{
for( int i=0; i<ial.size(); i++ )
{
if( ial[i].get_alias().CompareNoCase(alias) == 0 )
return ial[i];
}
return ial.front();
}
ip_port ip_alias_mgr::trans_ip(LPCTSTR ip_or_alias)
{
for( int i=0; i<ial.size(); i++ )
{
ip_alias& ref = ial[i];
if( ref.get_alias().CompareNoCase(ip_or_alias) == 0 )
{
return ip_port(ref.str_ip(), ref.look_port());
}
}
return ip_port(ip_or_alias);
}
CString ip_alias_mgr::get_alias(const ip_port& ip)
{
for( int i=0; i<ial.size(); i++ )
{
ip_alias& ref = ial[i];
if( ref == ip )
return ref.get_alias();
}
return (LPCTSTR)ip;
CString ip_alias_mgr::get_alias(ULONG ip, USHORT port)
{
return get_alias(ip_port(ip, port));
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -