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

📄 warfiledriverdynamicnodedir.cpp

📁 ftpserver very good sample
💻 CPP
字号:
#include "StdAfx.h"#include "WarFileDriverDynamicNodeDir.h"   // class implemented#ifndef WAR_DIRLIST_H#	include "WarDirList.h"#endif/////////////////////////////// PUBLIC /////////////////////////////////////////============================= LIFECYCLE ====================================WarFileDriverDynamicNodeDir::WarFileDriverDynamicNodeDir(){	mMode = S_IFDIR | 0755;	mType = FT_DIR;}// WarFileDriverDynamicNodeDirWarFileDriverDynamicNodeDir::~WarFileDriverDynamicNodeDir(){}// ~WarFileDriverDynamicNodeDir//============================= OPERATORS ====================================//============================= OPERATIONS===================================WarFileDriverDynamicNodeBase::node_ptr_t WarFileDriverDynamicNodeDir::Lookup(const name_t& path) throw(WarException){	node_map_t::iterator P = mNodes.find(path);	if (P == mNodes.end())		WarThrow(WarError(WAR_FERR_NO_SUCH_PATH), NULL);	return P->second;}void WarFileDriverDynamicNodeDir::MountDir(war_cfsysstr_t newName) 		throw(WarException){	node_ptr_t new_dir = new WarFileDriverDynamicNodeDir;	name_t name = newName;	if (!mNodes.insert(node_map_t::value_type(name, new_dir)).second)		WarThrow(WarError(WAR_ERR_NAME_EXIST), NULL);}void WarFileDriverDynamicNodeDir::MountFile(war_cfsysstr_t newName,											node_ptr_t& nodePtr) 											throw(WarException){	name_t name = newName;	if (!mNodes.insert(node_map_t::value_type(name, nodePtr)).second)		WarThrow(WarError(WAR_ERR_NAME_EXIST), NULL);}void WarFileDriverDynamicNodeDir::WarListDirectory(WarDirList& listDestination)        throw(WarException){	for(node_map_t::const_iterator P = mNodes.begin()		; P != mNodes.end()		; ++P)	{		listDestination.AddFile(			P->first.c_str(), &(*(P->second)));	}}void WarFileDriverDynamicNodeDir::DeleteNode(war_cfsysstr_t nodeName)throw(WarException){	node_map_t::iterator P = mNodes.find(nodeName);	if (P == mNodes.end())		WarThrow(WarError(WAR_FERR_NO_SUCH_PATH), NULL);	mNodes.erase(P);}//============================= CALLBACK   ===================================//============================= ACCESS     ===================================//============================= INQUIRY    ===================================/////////////////////////////// PROTECTED  ////////////////////////////////////////////////////////////////// PRIVATE    ///////////////////////////////////

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -