亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? cfg.h

?? http代理程序
?? H
字號:


/************************************
  REVISION LOG ENTRY
  Revision By: Alex Turc
  Revised on 6/15/00 1:53:25 PM
  Comments: Configuration objects
 ************************************/

#ifndef __cfg_h__
#define __cfg_h__

#include <string>
#include <list>
#include <strstream>
#include <sstream>
using namespace std;

#include "mylib/_str.h"
#include "mylib/_exception.h"
using namespace extension;

/*
Configuration stream exception
*/
//##ModelId=3B79EDE600FE
class configuration_stream_exception :
	public extended_exception
{
public:


	// Function name	: configuration_stream_exception
	// Description	    : Exception raised when the configuration stream is invalid
	// Return type		: 
	// Argument         : long nCode													- exception code
	// Argument         : const char* pDescription = "Configuration stream exception"	- description
	// Argument         : const char* pFile = ""										- the file name where the exception has occured
	// Argument         : long nLine = -1												- the line number where the exception has occured
	//##ModelId=3B79EDE60109
	configuration_stream_exception( long nCode, const char* pDescription = "Configuration stream exception", const char* pFile = "", long nLine = -1 ) :
	  extended_exception( nCode, pDescription, pFile, nLine )
	{
	}
};

/*
Configuration structure for an tunnel
*/
//##ModelId=3B79EDE6014E
struct tunnel_cfg
{
	

	//##ModelId=3B79EDE60159
	int m_iSourcePort;
	//##ModelId=3B79EDE6016D
	string m_strProxyAddress;
	//##ModelId=3B79EDE60176
	int m_iProxyPort;
	//##ModelId=3B79EDE6018B
	string m_strDestinationAddress;
	//##ModelId=3B79EDE6019E
	int m_iDestinationPort;


	// Function name	: operator==
	// Description	    : Compares two configuration
	// Return type		: bool 
	// Argument         : const tunel_cfg& c
	//##ModelId=3B79EDE601A8
	bool operator==( const tunnel_cfg& c )
	{
		return	m_iSourcePort == c.m_iSourcePort &&
				m_strProxyAddress == c.m_strProxyAddress &&
				m_iProxyPort == c.m_iProxyPort &&
				m_strDestinationAddress == c.m_strDestinationAddress &&
				m_iDestinationPort == c.m_iDestinationPort;				
	}
};


/*
Configuration structure
*/
//##ModelId=3B79EDE601C6
struct configuration
{
	// List of tunnels configuration
	//##ModelId=3B79EDE601F0
	list< tunnel_cfg > m_lstTunnels;
};



// Function name	: operator >> 
// Description	    : 
// Return type		: inline istream& 
// Argument         : istream& is
// Argument         : tunnel_cfg& otc
inline istream& operator >> ( istream& is, tunnel_cfg& t )
	throw( configuration_stream_exception )
{
	const int iBufferSize = 3 * 1024;
	char pBuffer[iBufferSize];

	is.getline( pBuffer, iBufferSize );

	strstream ssTmp( pBuffer, iBufferSize );

	ssTmp >> t.m_iSourcePort >> t.m_strDestinationAddress >> t.m_iDestinationPort;
	if( ssTmp.fail() )
		throw_exception( configuration_stream_exception, extended_exception::exception_code_generic, "Failed to read configuration for a tunnel" );

	// Read proxy information
	string strProxyAddress;
	int iProxyPort;
	ssTmp >> strProxyAddress >> iProxyPort;
	if( !ssTmp.fail() )
	{
		t.m_strProxyAddress = strProxyAddress;
		t.m_iProxyPort = iProxyPort;
	}
	
	return is;
};



// Function name	: operator << 
// Description	    : 
// Return type		: inline ostream& 
// Argument         : ostream& os
// Argument         : tunnel_cfg& otc
inline ostream& operator << ( ostream& os, tunnel_cfg& t )
{
	os << t.m_iSourcePort << "\t\t" << t.m_strDestinationAddress << "\t\t\t" << t.m_iDestinationPort << "\t\t" << t.m_strProxyAddress << "\t\t\t" << t.m_iProxyPort << endl;
	return os;
};


// Function name	: operator >> 
// Description	    : 
// Return type		: inline istream& 
// Argument         : istream& is
// Argument         : configuration& c
inline istream& operator >> ( istream& is, configuration& c )
	throw( configuration_stream_exception )
{
	const int iBufferSize = 3 * 1024;
	char pBuffer[iBufferSize];

	while( true )
	{
		is.getline( pBuffer, iBufferSize );
		if( is.fail() )
			break;

		string strLine = trim( pBuffer );		

		// Skip empty line
		if( strLine.size() == 0 )
			continue;

		// Skip comment line
		if( strLine[0] == '#' )
			continue;

		stringstream ssTmp( strLine );

		// Read a configuration line
		tunnel_cfg t;
		ssTmp >> t;
		c.m_lstTunnels.push_back( t );
	}
	return is;
};


// Function name	: operator <<
// Description	    : 
// Return type		: inline ostream& 
// Argument         : ostream& os
// Argument         : configuration& c
inline ostream& operator << ( ostream& os, configuration& c )
{
	os << "# HTTP tunneling configuration file" << endl << endl;


	list< tunnel_cfg >::iterator i = c.m_lstTunnels.begin();
	while( i != c.m_lstTunnels.end() )
	{
		os << *i << endl;
		i++;
	}

	return os;
};



#endif // __cfg_h__

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91麻豆国产香蕉久久精品| 欧美一区二区在线看| 精品综合久久久久久8888| 国产欧美一区二区三区在线看蜜臀| 日韩欧美国产三级电影视频| 欧美日韩国产乱码电影| 欧美视频在线播放| 91丝袜美腿高跟国产极品老师| av资源网一区| 成人激情电影免费在线观看| 久久99精品久久久久久| 国产剧情一区在线| 国产一区二区三区不卡在线观看 | 国产一区不卡在线| 免费久久99精品国产| 人妖欧美一区二区| 日本中文在线一区| 日韩福利视频网| 亚洲最新视频在线观看| 午夜不卡av免费| 污片在线观看一区二区| 亚洲成年人影院| 成人午夜精品一区二区三区| 大胆欧美人体老妇| www.亚洲人| 欧美日韩高清一区二区| 91精品福利在线一区二区三区 | jiyouzz国产精品久久| 成人激情小说乱人伦| 色久综合一二码| 欧美日韩国产欧美日美国产精品| 欧美日韩高清一区二区不卡| 精品国产一区久久| 久久精品这里都是精品| 国产精品久久久久毛片软件| 中文字幕不卡的av| 最新不卡av在线| 亚洲高清视频中文字幕| 亚洲国产精品久久一线不卡| 老司机午夜精品99久久| 精品一区二区三区免费视频| 成人中文字幕合集| 精品1区2区3区| 日韩欧美一区二区不卡| 久久精品欧美日韩精品| 一区二区三区日本| 人人狠狠综合久久亚洲| 国产呦萝稀缺另类资源| 国产精品18久久久久久久久久久久 | 亚洲码国产岛国毛片在线| 亚洲自拍偷拍图区| 蜜桃久久久久久| 成人在线一区二区三区| 欧美日韩亚洲综合一区| 久久久国产精品午夜一区ai换脸| 亚洲人成在线播放网站岛国| 日韩精品免费视频人成| 成人黄色在线视频| 欧美日韩精品一区二区| 一区二区三区小说| 偷拍自拍另类欧美| 国产成人精品综合在线观看| 日本韩国精品一区二区在线观看| av欧美精品.com| 日韩免费电影一区| 亚洲黄色片在线观看| 丝袜美腿成人在线| 91免费版在线看| 精品国产不卡一区二区三区| 亚洲人成伊人成综合网小说| 国产福利精品导航| 欧美另类z0zxhd电影| 中文字幕不卡在线| 国产在线视视频有精品| 欧美在线免费视屏| 中文字幕第一区二区| 亚洲h动漫在线| 波多野结衣在线aⅴ中文字幕不卡| 91麻豆精品国产综合久久久久久| 国产亚洲精品aa午夜观看| 日本亚洲最大的色成网站www| 欧美亚洲综合另类| 亚洲精品乱码久久久久久黑人| 国产精品亚洲人在线观看| 91麻豆精品国产91久久久久久久久 | 国产精品毛片高清在线完整版| 久久99深爱久久99精品| 欧美性色综合网| 国产精品三级电影| 国产一区在线不卡| 欧美一级片免费看| 日本中文字幕一区| 欧美三级韩国三级日本三斤 | 一个色在线综合| 99久久婷婷国产综合精品电影 | 午夜视频一区二区| 91久久一区二区| 亚洲综合视频在线| 不卡影院免费观看| 国产亚洲欧洲一区高清在线观看| 久99久精品视频免费观看| 日韩美女主播在线视频一区二区三区| 日本午夜一本久久久综合| 欧美在线不卡视频| 亚洲欧美国产毛片在线| 94-欧美-setu| 中文字幕久久午夜不卡| 亚洲女爱视频在线| 色综合久久综合| 国产精品久久久久久久浪潮网站| 国产自产视频一区二区三区| 久久久久久影视| 狠狠色狠狠色综合| 日韩欧美电影一区| 国产一区二区在线观看视频| 精品日韩欧美一区二区| 美女爽到高潮91| 久久综合精品国产一区二区三区| 久久99久久99精品免视看婷婷 | 欧美一区二区在线不卡| 免费人成在线不卡| 日韩精品一区二区三区视频 | 成人午夜私人影院| 日韩三级视频中文字幕| 久久疯狂做爰流白浆xx| 日韩欧美资源站| 九色综合国产一区二区三区| 国产欧美视频一区二区| 国产a久久麻豆| 国产精品黄色在线观看| 欧美最猛黑人xxxxx猛交| 夜色激情一区二区| 欧美男男青年gay1069videost | 日韩欧美aaaaaa| 国产真实精品久久二三区| 日韩欧美国产三级电影视频| 国产伦精品一区二区三区免费迷 | 日本一不卡视频| 国产午夜亚洲精品午夜鲁丝片| 成人91在线观看| 一区二区三区日韩精品视频| 欧美性欧美巨大黑白大战| 美女爽到高潮91| 久久午夜羞羞影院免费观看| 91丨国产丨九色丨pron| 视频在线观看一区二区三区| 国产日本一区二区| 精品视频免费在线| 国产精品一区二区三区四区| 亚洲伊人伊色伊影伊综合网| 26uuu另类欧美| 91官网在线观看| 麻豆精品一二三| 亚洲女性喷水在线观看一区| 日韩精品一区二区三区视频播放| 91视频观看视频| 精品亚洲成a人在线观看| 亚洲欧美自拍偷拍色图| 日韩欧美专区在线| 色呦呦网站一区| 极品少妇一区二区| 一二三区精品福利视频| 久久久精品tv| 91麻豆精品国产自产在线观看一区| 成人综合激情网| 裸体一区二区三区| 玉足女爽爽91| 国产欧美精品日韩区二区麻豆天美| 欧美理论电影在线| 色综合天天综合色综合av| 国产一区二区三区综合| 午夜精品福利在线| 亚洲品质自拍视频| 国产日韩欧美一区二区三区乱码| 91精品国产美女浴室洗澡无遮挡| 91色.com| 成人毛片老司机大片| 波多野结衣中文一区| 狠狠色综合播放一区二区| 亚州成人在线电影| 一区二区三区精品视频| 国产精品久久一卡二卡| 久久久久综合网| 欧美精品一区在线观看| 日韩一区二区不卡| 欧美色图第一页| 在线观看欧美黄色| 99九九99九九九视频精品| 成人免费毛片高清视频| 国产一区二区三区四| 黄色小说综合网站| 久久精品99国产精品| 秋霞电影一区二区| 五月婷婷综合网| 午夜精品久久久久久久久久久| 一区二区欧美国产| 亚洲一区在线看| 伊人性伊人情综合网| 亚洲综合在线免费观看| 亚洲欧美日韩中文播放|