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 };