📄 warfiledriverdynamicnodedir.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 + -