warfiledriverdynamicnodedir.cpp
来自「ftpserver very good sample」· C++ 代码 · 共 83 行
CPP
83 行
#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 + =
减小字号Ctrl + -
显示快捷键?