本文整理汇总了C++中NameSpace::ReadDirNext方法的典型用法代码示例。如果您正苦于以下问题:C++ NameSpace::ReadDirNext方法的具体用法?C++ NameSpace::ReadDirNext怎么用?C++ NameSpace::ReadDirNext使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类NameSpace
的用法示例。
在下文中一共展示了NameSpace::ReadDirNext方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ReturnStatus
ReturnStatus
FileMetaDAO::getDir(const std::string &path, std::list<PDEntry> *pEntryList)
{
assert(pEntryList);
Channel* pDataChannel = ChannelManager::getInstance()->Mapping(m_BucketId);
NameSpace *DataNS = pDataChannel->m_DataNS;
int rt = 0;
int error = 0;
std::string entryName;
Args st;
rt = DataNS->OpenDir(path.c_str(), &st);
if (false == st.valid) {
error = errno;
ERROR_LOG("path %s, opendir() error, %s.",
path.c_str(), strerror(errno));
if (ENOTDIR == error) {
return ReturnStatus(MU_FAILED, NOT_DIRECTORY);
} else if (ENOENT == error) {
return checkPrefix(path);
}
}
Dirent dirent;
while(DataNS->ReadDirNext(&st, &dirent)){
entryName = dirent.filename;
// omit "." and ".."
// omit user info file in user root dir
if (entryName == DENTRY_CURRENT_DIR
|| entryName == DENTRY_PARENT_DIR
|| entryName == USER_INFO_FILE_NAME) {
continue;
}
PDEntry ent;
ent.m_Name = entryName;
if (MU_DIRECTORY == dirent.filetype) {
ent.m_Type = MU_DIRECTORY;
} else {
ent.m_Type = MU_REGULAR_FILE;
}
pEntryList->push_back(ent);
}
return ReturnStatus(MU_SUCCESS);
}