1 #pragma once
2 
3 #include <string>
4 #include <memory>
5 #include <set>
6 #include "filesystem_def.h"
7 #include "OpticalMedia.h"
8 
9 namespace DiskUtils
10 {
11 	typedef std::unique_ptr<COpticalMedia> OpticalMediaPtr;
12 	typedef std::map<std::string, std::string> SystemConfigMap;
13 	typedef std::set<std::string> ExtensionList;
14 
15 	const ExtensionList& GetSupportedExtensions();
16 
17 	OpticalMediaPtr CreateOpticalMediaFromPath(const fs::path&, uint32 = 0);
18 	SystemConfigMap ParseSystemConfigFile(Framework::CStream*);
19 
20 	bool TryGetDiskId(const fs::path&, std::string*);
21 }
22