#include <VirtualSystem.h>
Onikiri::EmulatorUtility::DelayUnlinkerのコラボレーション図
Public メソッド | |
bool | AddMap (int targetFD, std::string path) |
bool | AddUnlinkPath (std::string path) |
DelayUnlinker () | |
std::string | GetMapPath (int targetFD) |
bool | IfUnlinkable (int targetFD) |
bool | RemoveMap (int targetFD) |
bool | RemoveUnlinkPath (std::string path) |
~DelayUnlinker () |
VirtualSystem.h の 73 行で定義されています。
DelayUnlinker::DelayUnlinker | ( | ) |
DelayUnlinker::~DelayUnlinker | ( | ) |
bool DelayUnlinker::AddMap | ( | int | targetFD, | |
std::string | path | |||
) |
VirtualSystem.cpp の 148 行で定義されています。
参照元 Onikiri::EmulatorUtility::VirtualSystem::Dup()・Onikiri::EmulatorUtility::VirtualSystem::Open().
00149 { 00150 if(targetFD < 0){ 00151 return false; 00152 } 00153 m_targetFDToPathTable[targetFD] = path; 00154 00155 return true; 00156 }
Here is the caller graph for this function:
bool DelayUnlinker::AddUnlinkPath | ( | std::string | path | ) |
VirtualSystem.cpp の 174 行で定義されています。
参照元 Onikiri::EmulatorUtility::VirtualSystem::Unlink().
00175 { 00176 list<string>::iterator i; 00177 for(i = m_delayUnlinkPathList.begin(); i != m_delayUnlinkPathList.end(); ++i){ 00178 if(*i == path){ 00179 return false; 00180 } 00181 } 00182 m_delayUnlinkPathList.push_back(path); 00183 00184 return true; 00185 }
Here is the caller graph for this function:
string DelayUnlinker::GetMapPath | ( | int | targetFD | ) |
VirtualSystem.cpp の 168 行で定義されています。
参照先 ASSERT.
参照元 Onikiri::EmulatorUtility::VirtualSystem::Close()・Onikiri::EmulatorUtility::VirtualSystem::Dup().
00169 { 00170 ASSERT( m_targetFDToPathTable[targetFD] != "", "Invalid map path." ) 00171 return m_targetFDToPathTable[targetFD]; 00172 }
Here is the caller graph for this function:
bool DelayUnlinker::IfUnlinkable | ( | int | targetFD | ) |
VirtualSystem.cpp の 187 行で定義されています。
参照元 Onikiri::EmulatorUtility::VirtualSystem::Close().
00188 { 00189 map<int, string>::const_iterator i; 00190 string targetPath = m_targetFDToPathTable[targetFD]; 00191 for(i = m_targetFDToPathTable.begin(); i != m_targetFDToPathTable.end(); ++i){ 00192 if(i->first == targetFD){ 00193 continue; 00194 } 00195 if(i->second == targetPath){ 00196 return false; 00197 } 00198 } 00199 00200 bool pathInList = false; 00201 list<string>::const_iterator j; 00202 for(j = m_delayUnlinkPathList.begin(); j != m_delayUnlinkPathList.end(); ++j){ 00203 if(*j == targetPath){ 00204 pathInList = true; 00205 } 00206 } 00207 return pathInList; 00208 }
Here is the caller graph for this function:
bool DelayUnlinker::RemoveMap | ( | int | targetFD | ) |
VirtualSystem.cpp の 158 行で定義されています。
参照元 Onikiri::EmulatorUtility::VirtualSystem::Close().
00159 { 00160 if(targetFD < 0){ 00161 return false; 00162 } 00163 m_targetFDToPathTable[targetFD] = ""; 00164 00165 return true; 00166 }
Here is the caller graph for this function:
bool DelayUnlinker::RemoveUnlinkPath | ( | std::string | path | ) |
VirtualSystem.cpp の 210 行で定義されています。
参照元 Onikiri::EmulatorUtility::VirtualSystem::Close().
00211 { 00212 list<string>::iterator i; 00213 for(i = m_delayUnlinkPathList.begin(); i != m_delayUnlinkPathList.end(); ++i){ 00214 if(*i == path){ 00215 i = m_delayUnlinkPathList.erase(i); 00216 return true; 00217 } 00218 } 00219 return false; 00220 }
Here is the caller graph for this function: