1
0
This repository has been archived on 2025-07-27. You can view files and clone it, but cannot push or open issues or pull requests.
Files
siadrive/include/siadrive_api/filepath.h
Scott E. Graves 5a9df8198f Stuff
2017-04-27 23:38:28 -05:00

63 lines
1.5 KiB
C++

#ifndef _FILEPATH_H
#define _FILEPATH_H
#include <siacommon.h>
NS_BEGIN(Sia)
NS_BEGIN(Api)
class SIADRIVE_EXPORTABLE FilePath
{
public:
FilePath();
FilePath(const FilePath& filePath);
FilePath(const SString& path);
FilePath(const FilePath& filePath1, const FilePath& filePath2);
FilePath(const FilePath& filePath1, const SString& path2);
FilePath(const SString& path1, const FilePath& filePath2);
FilePath(const SString& path1, const SString& path2);
FilePath(FilePath&& filePath);
public:
~FilePath();
public:
static const SString DirSep;
public:
static SString FinalizePath(const SString& path);
static SString GetTempDirectory();
static SString GetAppDataDirectory();
private:
#ifdef _WIN32
const BOOL _uninit;
#endif
SString _path;
public:
FilePath& Append(const FilePath& filePath);
FilePath& Append(const SString& path);
bool IsDirectory() const;
bool IsFile() const;
bool IsUNC() const;
bool CreateDirectory() const;
bool RemoveDirectory() const;
bool DeleteFile() const;
bool MoveFile(const FilePath& filePath);
FilePath& RemoveFileName();
FilePath& MakeAbsolute();
FilePath& SkipRoot();
FilePath& StripToFileName();
bool CreateEmptyFile();
FilePath& Resolve();
public:
FilePath& operator=(const FilePath& filePath);
FilePath& operator=(FilePath&& filePath);
SString::SChar& operator[](const size_t& idx);
const SString::SChar& operator[](const size_t& idx) const;
operator SString() const;
};
NS_END(2)
#endif //_FILEPATH_H