extern std::string cpu_info ();
extern void run_ffprobe (boost::filesystem::path, boost::filesystem::path);
extern std::list<std::pair<std::string, std::string> > mount_info ();
extern boost::filesystem::path openssl_path ();
extern std::string cpu_info ();
extern void run_ffprobe (boost::filesystem::path, boost::filesystem::path);
extern std::list<std::pair<std::string, std::string> > mount_info ();
extern boost::filesystem::path openssl_path ();
extern FILE * fopen_boost (boost::filesystem::path, std::string);
extern int dcpomatic_fseek (FILE *, int64_t, int);
extern FILE * fopen_boost (boost::filesystem::path, std::string);
extern int dcpomatic_fseek (FILE *, int64_t, int);
-extern void start_batch_converter (boost::filesystem::path dcpomatic);
-extern void start_player (boost::filesystem::path dcpomatic);
+extern void start_batch_converter ();
+extern void start_player ();
extern uint64_t thread_id ();
extern int avio_open_boost (AVIOContext** s, boost::filesystem::path file, int flags);
extern boost::filesystem::path home_directory ();
extern uint64_t thread_id ();
extern int avio_open_boost (AVIOContext** s, boost::filesystem::path file, int flags);
extern boost::filesystem::path home_directory ();
extern bool running_32_on_64 ();
extern void unprivileged ();
extern boost::filesystem::path config_path ();
extern bool running_32_on_64 ();
extern void unprivileged ();
extern boost::filesystem::path config_path ();
- Drive (std::string internal_name, uint64_t size, bool mounted, boost::optional<std::string> vendor, boost::optional<std::string> model)
- : _internal_name(internal_name)
+ Drive (std::string device, std::vector<boost::filesystem::path> mount_points, uint64_t size, boost::optional<std::string> vendor, boost::optional<std::string> model)
+ : _device(device)
+ , _mount_points(mount_points)
+ std::string log_summary () const;
+
+ /** Unmount any mounted partitions on a drive.
+ * @return true on success, false on failure.
+ */
+ bool unmount ();
+
+ static std::vector<Drive> get ();
+