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; }
/*! \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; }
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; }
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; }
QmlIODevice::OpenMode QmlIODevice::openMode() const { return this->hasDevice() ? OpenMode(QFlag((QIODevice::OpenMode::Int)this->m_device->openMode())) : QmlIODevice::NotOpen; }