本文整理汇总了C++中NameSpace::Stat方法的典型用法代码示例。如果您正苦于以下问题:C++ NameSpace::Stat方法的具体用法?C++ NameSpace::Stat怎么用?C++ NameSpace::Stat使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类NameSpace
的用法示例。
在下文中一共展示了NameSpace::Stat方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ReturnStatus
ReturnStatus
FileMetaDAO::isdir(const std::string &path)
{
Channel* pDataChannel = ChannelManager::getInstance()->Mapping(m_BucketId);
NameSpace *DataNS = pDataChannel->m_DataNS;
int rt = 0;
FileAttr st;
rt = DataNS->Stat(path.c_str(), &st);
if (0 == rt) {
if (MU_DIRECTORY == st.m_Type) {
return ReturnStatus(MU_SUCCESS);
} else {
ERROR_LOG("path %s, not directory", path.c_str());
return ReturnStatus(MU_FAILED, NOT_DIRECTORY);
}
}
int error = errno;
ERROR_LOG("path %s, stat() error, %s", path.c_str(), strerror(error));
if (ENOENT == error || ENOTDIR == error) {
return checkPrefix(path);
} else {
return ReturnStatus(MU_FAILED, MU_UNKNOWN_ERROR);
}
}
示例2: checkPrefix
ReturnStatus
FileMetaDAO::statDir(const std::string &path, FileMeta *pMeta)
{
assert(pMeta);
Channel* pDataChannel = ChannelManager::getInstance()->Mapping(m_BucketId);
NameSpace *DataNS = pDataChannel->m_DataNS;
int rt = 0;
int error = 0;
FileAttr st;
rt = DataNS->Stat(path.c_str(), &st);
if (-1 == rt) {
error = errno;
ERROR_LOG("path %s, stat() error, %s.", path.c_str(), strerror(error));
if (ENOENT == error || ENOTDIR == error) {
return checkPrefix(path);
} else {
return ReturnStatus(MU_FAILED, MU_UNKNOWN_ERROR);
}
}
if (st.m_Type != MU_DIRECTORY) {
ERROR_LOG("path %s, not directory", path.c_str());
return ReturnStatus(MU_FAILED, NOT_DIRECTORY);
}
pMeta->m_Attr.m_Mode = st.m_Mode;
pMeta->m_Attr.m_CTime = st.m_CTime;
pMeta->m_Attr.m_MTime = st.m_MTime;
pMeta->m_Attr.m_Size = st.m_Size;
return ReturnStatus(MU_SUCCESS);
}