⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ip_alias.cpp

📁 实时监控
💻 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);
}

//##ModelId=3F90BAB9002B
void ip_alias::save_to_reg()
{
	write_string(rkIPAlias, alias, ip);
}

//##ModelId=3F90BAB9002A
void ip_alias::remove_from_reg()
{
	delete_string(rkIPAlias, alias);
}
//////////////////////////////////////////////////////////////////////////

//##ModelId=3F90BAB90070
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();
}

//##ModelId=3F90BAB9007B
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;
		}
	}
}

//##ModelId=3F90BAB90085
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;
		}
	}
}

//##ModelId=3F90BAB9008F
void ip_alias_mgr::clear()
{
	for( int i=0; i<ial.size(); i++ )
	{
		ial[i].remove_from_reg();
	}
	ial.clear();
}

//##ModelId=3F90BAB900AC
void ip_alias_mgr::update()
{
	load_reg();
}

//##ModelId=3F90BAB900AD
void ip_alias_mgr::load_reg()
{
	ial.clear();
	enum_reg<ip_alias_list, ip_alias>(rkIPAlias, ial);
}

//##ModelId=3F90BAB900B6
void ip_alias_mgr::save_reg()
{
	for(int i=0; i<ial.size(); i++ )
		ial[i].save_to_reg();
}

//##ModelId=3F90BAB90098
int ip_alias_mgr::count() const
{
	return ial.size();
}

//##ModelId=3F90BAB900A2
ip_alias& ip_alias_mgr::get(int index)
{
	return ial[index];
}

//##ModelId=3F90BAB900B7
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();
}

//##ModelId=3F90BAB900C1
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);
}

//##ModelId=3F90BAB900CA
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;
}

//##ModelId=3F90BAB900D4
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 + -