#ifndef OFEN_PATH_HEADER
#define OFEN_PATH_HEADER

#include "of_def.hpp"

namespace ofen {
class COfPath
{
public:
    COfPath();
    ~COfPath();

public:
    static bool is_same_path(const ofString& pa, const ofString& pb);
    static ofString normalize(const ofString& path);
    static ofString get_full_path();
    static ofString get_home();
    static ofString get_config_dir(const ofString& sub_dir, bool create = false);
    static ofString get_full(const ofString& path, const ofString& sub_file_path);
    static bool exist(const ofString& path);
    static bool write(const ofString& path, const char* data, int len);
    static ofString to_full(const ofString& path);
    static ofString standardize(const ofString& path);
    static bool is_same_dir(const ofString& pa, const ofString& pb);

    /// @brief 根据通配符获取内容,仅支持通配文件,仅支持 *? 两种通配符。
    /// @param path
    /// @return
    static ofStrVec match_files(const ofString& path);
};
};   // namespace ofen
#endif