init
This commit is contained in:
68
unitree_SDK/include/unitree/common/filesystem/directory.hpp
Normal file
68
unitree_SDK/include/unitree/common/filesystem/directory.hpp
Normal file
@@ -0,0 +1,68 @@
|
||||
#ifndef __UT_DIRECTORY_HPP__
|
||||
#define __UT_DIRECTORY_HPP__
|
||||
|
||||
#include <unitree/common/filesystem/filesystem.hpp>
|
||||
|
||||
namespace unitree
|
||||
{
|
||||
namespace common
|
||||
{
|
||||
typedef std::pair<int32_t,std::string> DIRENT_INFO;
|
||||
typedef std::pair<std::string,std::string> SYMLNK_INFO;
|
||||
|
||||
class Directory
|
||||
{
|
||||
public:
|
||||
Directory();
|
||||
Directory(const std::string& dirName);
|
||||
|
||||
~Directory();
|
||||
|
||||
void Open();
|
||||
void Open(const std::string& dirName);
|
||||
|
||||
bool IsOpen();
|
||||
|
||||
void ListFile(std::vector<std::string>& fileNameList, const std::string& regExpress);
|
||||
void ListFile(std::vector<std::string>& fileNameList, bool recurse = true, bool absolute = true);
|
||||
|
||||
void ListDir(std::vector<std::string>& dirNameList, bool recurse = true, bool absolute = true);
|
||||
|
||||
void List(std::list<std::string>& fileNameList, std::list<std::string>& dirNameList,
|
||||
std::list<SYMLNK_INFO>& symlinkList);
|
||||
|
||||
void Cleanup();
|
||||
bool CopyTo(const std::string& dirName, bool deeply = false);
|
||||
|
||||
void Close();
|
||||
|
||||
private:
|
||||
void CheckOpen();
|
||||
void OpenInner();
|
||||
|
||||
private:
|
||||
DIR *mDIR;
|
||||
std::string mDirName;
|
||||
};
|
||||
|
||||
typedef std::shared_ptr<Directory> DirectoryPtr;
|
||||
|
||||
bool ExistDirectory(const std::string& dirName);
|
||||
|
||||
void CreateDirectory(const std::string& dirName, bool recurse = true,
|
||||
uint32_t mode = UT_OPEN_MODE_RWX);
|
||||
|
||||
void ListDirectory(const std::string& dirName, std::vector<std::string>& fileNameList,
|
||||
const std::string& regExpress);
|
||||
|
||||
void ListDirectory(const std::string& dirName, std::vector<std::string>& fileNameList, bool recurse = true, bool absolute = true);
|
||||
|
||||
void ListChildDirectory(const std::string& dirName, std::vector<std::string>& dirNameList, bool recurse = true, bool absolute = true);
|
||||
|
||||
void RemoveDirectory(const std::string& dirName, bool recurse = true);
|
||||
|
||||
void CopyDirectory(const std::string& dirName, const std::string& destDirName, bool deeply);
|
||||
|
||||
}
|
||||
}
|
||||
#endif//__UT_DIRECTORY_HPP__
|
Reference in New Issue
Block a user