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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? searchmanager.h

?? dc++(一個(gè)曾經(jīng)大量使用的p2p)的源代碼,dc++,開(kāi)源的p2p源代碼
?? H
字號(hào):
/* 
 * Copyright (C) 2001-2003 Jacek Sieka, j_s@telia.com
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 */

#if !defined(AFX_SEARCHMANAGER_H__E8F009DF_D216_4F8F_8C81_07D2FA0BFB7F__INCLUDED_)
#define AFX_SEARCHMANAGER_H__E8F009DF_D216_4F8F_8C81_07D2FA0BFB7F__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "Socket.h"
#include "User.h"
#include "Thread.h"
#include "SettingsManager.h"

#include "SearchManagerListener.h"

class SearchResult {
public:	

	enum Types {
		TYPE_FILE,
		TYPE_DIRECTORY
	};

	typedef SearchResult* Ptr;
	typedef vector<Ptr> List;
	typedef List::iterator Iter;
	
	SearchResult() : type(TYPE_FILE), slots(0), freeSlots(0), size(0) { };
	SearchResult(const SearchResult& rhs) : type(rhs.type), slots(rhs.slots), freeSlots(rhs.freeSlots), size(rhs.size), 
		file(rhs.file), hubName(rhs.hubName), hubAddress(rhs.hubAddress), user(rhs.user) { };

	string getFileName();

	User::Ptr& getUser() { return user; };
	void setUser(const User::Ptr& aUser) { user = aUser; };
	
	void setSize(const string& aSize) { setSize(Util::toInt64(aSize)); };
	void setSlots(const string& aSlots) { setSlots(Util::toInt(aSlots)); };
	void setFreeSlots(const string& aSlots) { setFreeSlots(Util::toInt(aSlots)); };
	
	string getSlotString() { return Util::toString(getFreeSlots()) + '/' + Util::toString(getSlots()); };
	
	GETSET(Types, type, Type);
	GETSET(int, slots, Slots);
	GETSET(int, freeSlots, FreeSlots);
	GETSET(int64_t, size, Size);
	GETSETREF(string, file, File);
	GETSETREF(string, hubName, HubName);
	GETSETREF(string, hubAddress, HubAddress);

private:
	User::Ptr user;
};

class SearchManager : public Speaker<SearchManagerListener>, public Singleton<SearchManager>, public Thread
{
public:
	enum SizeModes {
		SIZE_DONTCARE = 0x00,
		SIZE_ATLEAST = 0x01,
		SIZE_ATMOST = 0x02,
	};

	enum TypeModes {
		TYPE_ANY = 0,
		TYPE_AUDIO,
		TYPE_COMPRESSED,
		TYPE_DOCUMENT,
		TYPE_EXECUTABLE,
		TYPE_PICTURE,
		TYPE_VIDEO,
		TYPE_DIRECTORY
	};
	
	void search(const string& aName, int64_t aSize = 0, TypeModes aTypeMode = TYPE_ANY, SizeModes aSizeMode = SIZE_ATLEAST);
	void search(const string& aName, const string& aSize, TypeModes aTypeMode = TYPE_ANY, SizeModes aSizeMode = SIZE_ATLEAST) {
		search(aName, Util::toInt64(aSize), aTypeMode, aSizeMode);
	}
	
	static string clean(const string& aSearchString) {
		static const char* badChars = "$|.[]()-_+";
		string::size_type i = aSearchString.find_first_of(badChars);
		if(i == string::npos)
			return aSearchString;

		string tmp = aSearchString;
		// Remove all strange characters from the search string
		do {
			tmp[i] = ' ';
		} while ( (i = tmp.find_first_of(badChars, i)) != string::npos);
		
		return tmp;
	}

	void setPort(short aPort) throw(SocketException);
	void disconnect() throw();
	void onSearchResult(const string& aLine) {
		onData((const u_int8_t*)aLine.data(), aLine.length());
	}
	
private:
	
	Socket* socket;
	short port;
	bool stop;
	friend class Singleton<SearchManager>;

	SearchManager() : socket(NULL), port(0), stop(false) {  };

	virtual int run();

	virtual ~SearchManager() { 
		if(socket) {
			stop = true;
			socket->disconnect();
			join();
			delete socket;
		}
	};

	void onData(const u_int8_t* buf, int aLen);
};

#endif // !defined(AFX_SEARCHMANAGER_H__E8F009DF_D216_4F8F_8C81_07D2FA0BFB7F__INCLUDED_)

/**
 * @file
 * $Id: SearchManager.h,v 1.24 2003/04/15 10:13:54 arnetheduck Exp $
 */

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲最快最全在线视频| 精品久久久久99| 亚洲欧洲av色图| 99视频精品免费视频| 亚洲精品美腿丝袜| 欧美日韩国产免费| 麻豆国产一区二区| 中文字幕精品一区二区精品绿巨人| 国产成人av一区二区三区在线 | 欧美经典一区二区三区| 成人av资源站| 午夜久久久影院| 日韩欧美一卡二卡| 国产成人激情av| 亚洲激情综合网| 日韩一区二区三区四区五区六区| 国产原创一区二区| 亚洲欧美自拍偷拍| 制服丝袜激情欧洲亚洲| 欧美图片一区二区三区| 日韩不卡一区二区三区| 久久精品人人爽人人爽| 欧美视频一二三区| 国产福利一区在线观看| 亚洲综合免费观看高清完整版在线| 欧美精品aⅴ在线视频| 国产成人8x视频一区二区| 亚洲伊人色欲综合网| 精品国产精品网麻豆系列| 99精品国产热久久91蜜凸| 奇米影视在线99精品| 国产精品乱码人人做人人爱| 欧美日韩国产综合一区二区三区| 国产一区二区h| 亚洲国产精品自拍| 日本一区二区三级电影在线观看 | 国产福利视频一区二区三区| 一区二区成人在线| 国产欧美在线观看一区| 7777精品伊人久久久大香线蕉完整版 | 欧美日韩一区成人| 国产主播一区二区| 亚洲午夜激情网页| 国产精品日韩精品欧美在线| 欧美一区二区三区喷汁尤物| 91丨porny丨在线| 激情丁香综合五月| 丝袜诱惑制服诱惑色一区在线观看| 国产日韩欧美精品电影三级在线| 欧美一区二区女人| 色94色欧美sute亚洲线路一ni| 国产一区视频导航| 日韩电影在线一区| 亚洲风情在线资源站| 1区2区3区精品视频| 国产日产欧美一区二区视频| 日韩亚洲欧美成人一区| 欧美日韩你懂得| 91国偷自产一区二区开放时间| 国产suv一区二区三区88区| 久久国产精品99久久久久久老狼 | 国产精品丝袜一区| 亚洲精品一区二区三区四区高清| 3d成人h动漫网站入口| 欧美性猛交xxxx黑人交| 94-欧美-setu| 94-欧美-setu| 一本色道亚洲精品aⅴ| 成人av在线观| www.亚洲色图.com| jlzzjlzz欧美大全| www.亚洲人| 97超碰欧美中文字幕| 成人午夜大片免费观看| 成人午夜激情片| 成人精品鲁一区一区二区| 国产成人精品三级| 成人精品视频网站| 91色在线porny| 在线视频亚洲一区| 欧美日韩国产色站一区二区三区| 在线影视一区二区三区| 欧美性生活久久| 欧美日韩高清影院| 欧美一区二区免费视频| 欧美成人vps| 国产偷国产偷精品高清尤物| 国产欧美日本一区二区三区| 国产精品视频一二| 亚洲乱码国产乱码精品精98午夜 | 中文字幕免费在线观看视频一区| 欧美国产丝袜视频| 亚洲欧美国产三级| 亚洲成av人片一区二区梦乃| 日韩av一区二区在线影视| 美腿丝袜亚洲三区| 国产精品77777竹菊影视小说| 国产成人在线视频网站| 91丨九色porny丨蝌蚪| 中文字幕亚洲区| 亚洲欧美日韩国产手机在线| 亚洲成av人综合在线观看| 精品亚洲成a人| av动漫一区二区| 欧美最新大片在线看| 日韩亚洲电影在线| 国产精品污www在线观看| 亚洲蜜臀av乱码久久精品| 日韩福利视频导航| 国产精品99久久久久久宅男| 99久久精品一区| 欧美一区二区视频免费观看| 欧美国产综合一区二区| 亚洲成av人片观看| 粉嫩av一区二区三区粉嫩 | 欧美美女黄视频| 国产欧美视频一区二区| 亚洲国产综合色| 国产精品一二三四五| 欧美在线观看一区| 国产三级久久久| 婷婷综合五月天| 99精品视频在线观看| 欧美成人艳星乳罩| 亚洲另类色综合网站| 国产一区二区三区最好精华液| 色欧美片视频在线观看在线视频| 精品国产免费一区二区三区四区 | 国产欧美精品在线观看| 三级欧美韩日大片在线看| 成人黄色在线网站| 精品日韩一区二区三区 | 国产精品美日韩| 蜜臀久久99精品久久久久久9| 精品美女被调教视频大全网站| 亚洲色图欧美偷拍| 国产乱子伦视频一区二区三区 | 99re8在线精品视频免费播放| 欧美一区中文字幕| 亚洲激情在线激情| 国产1区2区3区精品美女| 欧美一级黄色片| 亚洲一区二区在线播放相泽 | 亚洲日韩欧美一区二区在线| 国产呦萝稀缺另类资源| 欧美一区二区三区不卡| 亚洲成人免费电影| 91久久精品日日躁夜夜躁欧美| 国产欧美一区二区精品性色 | 色天天综合色天天久久| 国产精品理论片| 国产精品99久久久久久久vr| 日韩精品一区二区三区三区免费 | 国产视频一区不卡| 久久成人18免费观看| 91精品国产91热久久久做人人 | 国产精品网站在线播放| 国产乱一区二区| 精品久久国产老人久久综合| 偷拍亚洲欧洲综合| 欧美福利一区二区| 日韩高清中文字幕一区| 欧美丰满少妇xxxbbb| 婷婷国产在线综合| 91.com视频| 日本vs亚洲vs韩国一区三区| 91精品国产欧美日韩| 免播放器亚洲一区| 日韩欧美一级二级| 黑人巨大精品欧美黑白配亚洲| 日韩美女在线视频| 久久成人久久爱| 国产三级欧美三级| 成人动漫av在线| 日韩一区在线免费观看| 色婷婷综合久久久中文一区二区| 亚洲欧美日本在线| 欧美性受xxxx黑人xyx性爽| 亚洲一二三区不卡| 91精品国产91久久久久久最新毛片| 日韩精品亚洲一区二区三区免费| 欧美一级理论性理论a| 激情综合色播激情啊| 亚洲国产精品成人综合 | 欧美成人精品3d动漫h| 精品一二三四在线| 国产精品久久久久久亚洲毛片| 91麻豆国产精品久久| 性感美女久久精品| 久久夜色精品一区| 成人的网站免费观看| 亚洲一区二区三区三| 日韩一区二区电影网| 成人午夜激情片| 亚洲综合成人在线视频| 日韩一区二区在线看片| 成人丝袜高跟foot| 亚洲不卡一区二区三区| 精品黑人一区二区三区久久| 93久久精品日日躁夜夜躁欧美|