コード例 #1
0
ファイル: FileHandle.cpp プロジェクト: ChihMin/mclinker
bool FileHandle::open(const sys::fs::Path& pPath,
                      FileHandle::OpenMode pMode,
                      FileHandle::Permission pPerm) {
  if (isOpened() || Unknown == pMode) {
    setState(BadBit);
    return false;
  }

  m_OpenMode = pMode;
  if (System == pPerm)
    m_Handler = sys::fs::detail::open(pPath, oflag(pMode));
  else
    m_Handler = sys::fs::detail::open(pPath, oflag(pMode),
                                      static_cast<int>(pPerm));

  m_Path = pPath;
  if (m_Handler == -1) {
    m_OpenMode = OpenMode(NotOpen);
    setState(FailBit);
    return false;
  }

  if (!get_size(m_Handler, m_Size)) {
    setState(FailBit);
    return false;
  }

  return true;
}
コード例 #2
0
/*!
\return	always false
	if a link open failed, we return false so the framework will delete the object
*/
bool CMultiplexerClientFELink::OnOpenFailed(int IoError)
{
	if(OpenMode()	==	MultiXOpenModeServer)
	{
		Owner()->Logger()->ReportError(DebugPrint(0,"Open (Listen) Failed. Error=%d\n",IoError));
	}	else
	{
		DebugPrint(1,"Open (Connect) Failed. Error=%d\n",IoError);
	}
	return	false;
}
コード例 #3
0
ファイル: FileHandle.cpp プロジェクト: ChihMin/mclinker
bool FileHandle::delegate(int pFD, FileHandle::OpenModeEnum pMode) {
  if (isOpened()) {
    setState(BadBit);
    return false;
  }

  m_Handler = pFD;
  m_OpenMode = OpenMode(pMode);
  m_State = (GoodBit | DeputedBit);

  if (!get_size(m_Handler, m_Size)) {
    setState(FailBit);
    return false;
  }

  return true;
}
コード例 #4
0
ファイル: FileHandle.cpp プロジェクト: ChihMin/mclinker
bool FileHandle::close() {
  if (!isOpened()) {
    setState(BadBit);
    return false;
  }

  if (isOwned()) {
    if (::close(m_Handler) == -1) {
      setState(FailBit);
      return false;
    }
  }

  m_Path.native().clear();
  m_Size = 0;
  m_OpenMode = OpenMode(NotOpen);
  cleanState();
  return true;
}
コード例 #5
0
ファイル: qmliodevice.cpp プロジェクト: qyvlik/QmlNetwork
QmlIODevice::OpenMode QmlIODevice::openMode() const
{
    return this->hasDevice()
            ? OpenMode(QFlag((QIODevice::OpenMode::Int)this->m_device->openMode()))
            : QmlIODevice::NotOpen;
}