1 #pragma once 2 3 #include <dirent.h> 4 #include "main.hpp" 5 6 class Directory { 7 public: Directory(const char * name)8 Directory(const char* name) : 9 path(name) 10 { 11 DIR* dir; 12 struct dirent* ent; 13 if ((dir = opendir(name)) == NULL) 14 { 15 printlog("failed to open directory '%s'", name); 16 return; 17 } 18 while ((ent = readdir(dir)) != NULL) 19 { 20 std::string entry(ent->d_name); 21 if (ent->d_name[0] != '.') 22 { 23 list.emplace_back(ent->d_name); 24 } 25 } 26 closedir(dir); 27 std::sort(list.begin(), list.end()); 28 } 29 std::vector<std::string> list; 30 const char* path; 31 };