クラス Onikiri::EmulatorUtility::FDConv

#include <VirtualSystem.h>

Onikiri::EmulatorUtility::FDConvのコラボレーション図

Collaboration graph
[凡例]
すべてのメンバ一覧

Public メソッド

bool AddMap (int targetFD, int hostFD)
 FDConv ()
int GetFirstFreeFD ()
int HostToTarget (int hostFD) const
bool RemoveMap (int targetFD)
int TargetToHost (int targetFD) const
 ~FDConv ()

Static Public 変数

static const int InvalidFD = -1

説明

VirtualSystem.h42 行で定義されています。


コンストラクタとデストラクタ

FDConv::FDConv (  ) 

VirtualSystem.cpp50 行で定義されています。

00051 {
00052     ExtendFDMap(8);
00053 }

FDConv::~FDConv (  ) 

VirtualSystem.cpp55 行で定義されています。

00056 {
00057 }


関数

bool FDConv::AddMap ( int  targetFD,
int  hostFD 
)

VirtualSystem.cpp81 行で定義されています。

参照元 Onikiri::EmulatorUtility::VirtualSystem::AddFDMap().

00082 {
00083     if (targetFD < 0 || hostFD < 0)
00084         return false;
00085 
00086     if ((size_t)targetFD >= m_FDTargetToHostTable.size())
00087         ExtendFDMap();
00088 
00089     m_FDTargetToHostTable[targetFD] = hostFD;
00090 
00091     return true;
00092 }

Here is the caller graph for this function:

int FDConv::GetFirstFreeFD (  ) 

VirtualSystem.cpp109 行で定義されています。

参照先 InvalidFD.

参照元 Onikiri::EmulatorUtility::VirtualSystem::Dup()Onikiri::EmulatorUtility::VirtualSystem::Open().

00110 {
00111     // \hostfdT
00112     vector<int>::iterator e = find(m_FDTargetToHostTable.begin(), m_FDTargetToHostTable.end(), (int)InvalidFD);
00113 
00114     if (e != m_FDTargetToHostTable.end())
00115         return (int)(e - m_FDTargetToHostTable.begin());
00116     else {
00117         // \g
00118         int result = (int)m_FDTargetToHostTable.size();
00119         ExtendFDMap();
00120         return result;
00121     }
00122 }

Here is the caller graph for this function:

int FDConv::HostToTarget ( int  hostFD  )  const

VirtualSystem.cpp70 行で定義されています。

参照先 InvalidFD.

参照元 Onikiri::EmulatorUtility::VirtualSystem::FDHostToTarget().

00071 {
00072     if (hostFD < 0)
00073         return InvalidFD;
00074 
00075     vector<int>::const_iterator e = find(m_FDTargetToHostTable.begin(), m_FDTargetToHostTable.end(), hostFD);
00076     if (e != m_FDTargetToHostTable.end())
00077         return (int)(e - m_FDTargetToHostTable.begin());
00078     else
00079         return InvalidFD;
00080 }

Here is the caller graph for this function:

bool FDConv::RemoveMap ( int  targetFD  ) 

VirtualSystem.cpp94 行で定義されています。

参照先 InvalidFD.

参照元 Onikiri::EmulatorUtility::VirtualSystem::Close().

00095 {
00096     if (targetFD < 0)
00097         return false;
00098 
00099     // targetFD
00100     if (m_FDTargetToHostTable[targetFD] == InvalidFD)
00101         return false;
00102 
00103     m_FDTargetToHostTable[targetFD] = InvalidFD;
00104 
00105     return true;
00106 }

Here is the caller graph for this function:

int FDConv::TargetToHost ( int  targetFD  )  const

VirtualSystem.cpp59 行で定義されています。

参照先 InvalidFD.

参照元 Onikiri::EmulatorUtility::VirtualSystem::Close()Onikiri::EmulatorUtility::VirtualSystem::FDTargetToHost()Onikiri::EmulatorUtility::VirtualSystem::Read()Onikiri::EmulatorUtility::VirtualSystem::Write().

00060 {
00061     if (targetFD < 0)
00062         return InvalidFD;
00063 
00064     if ((size_t)targetFD < m_FDTargetToHostTable.size())
00065         return m_FDTargetToHostTable[targetFD];
00066     else
00067         return InvalidFD;
00068 }

Here is the caller graph for this function:


変数

const int Onikiri::EmulatorUtility::FDConv::InvalidFD = -1 [static]

VirtualSystem.h45 行で定義されています。

参照元 GetFirstFreeFD()HostToTarget()RemoveMap()TargetToHost().


このクラスの説明は次のファイルから生成されました:
Onikiri2に対してTue Jun 18 15:26:12 2013に生成されました。  doxygen 1.4.7