X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Flib%2Fcross.h;h=6904811b756bd7299c57c96bbdad45baac079761;hb=027a6534067edc6fe9390d9ecc750e9982d5437c;hp=aad223d60fd4d392310124e07ff2192cfdbdc4c7;hpb=9b9202c7f9fc26fcef0984189aaed366b7c6d726;p=dcpomatic.git diff --git a/src/lib/cross.h b/src/lib/cross.h index aad223d60..6904811b7 100644 --- a/src/lib/cross.h +++ b/src/lib/cross.h @@ -29,6 +29,8 @@ #include #endif #include +/* windows.h defines this but we want to use it */ +#undef ERROR #include #include @@ -42,8 +44,8 @@ struct AVIOContext; extern void dcpomatic_sleep_seconds (int); extern void dcpomatic_sleep_milliseconds (int); extern std::string cpu_info (); -extern void run_ffprobe (boost::filesystem::path, boost::filesystem::path); -extern std::list > mount_info (); +extern void run_ffprobe(boost::filesystem::path content, boost::filesystem::path out, bool err = true, std::string args = {}); +extern std::list> mount_info (); extern boost::filesystem::path openssl_path (); extern void make_foreground_application (); #ifdef DCPOMATIC_DISK @@ -53,10 +55,7 @@ extern boost::filesystem::path disk_writer_path (); extern void maybe_open_console (); #endif extern boost::filesystem::path resources_path (); -extern boost::filesystem::path xsd_path (); -extern boost::filesystem::path tags_path (); -extern FILE * fopen_boost (boost::filesystem::path, std::string); -extern int dcpomatic_fseek (FILE *, int64_t, int); +extern boost::filesystem::path libdcp_resources_path (); extern void start_batch_converter (); extern void start_player (); extern uint64_t thread_id (); @@ -66,7 +65,6 @@ extern bool running_32_on_64 (); extern void unprivileged (); extern boost::filesystem::path config_path (boost::optional version); extern boost::filesystem::path directory_containing_executable (); -extern boost::filesystem::path fix_long_path (boost::filesystem::path path); extern bool show_in_file_manager (boost::filesystem::path dir, boost::filesystem::path select); namespace dcpomatic { std::string get_process_id (); @@ -163,4 +161,27 @@ boost::optional analyse_osx_media_path (std::string path); std::vector osx_disks_to_drives (std::vector disks); +class ArgFixer +{ +public: + ArgFixer(int argc, char** argv); + + int argc() const { + return _argc; + } + + char** argv() const { + return _argv; + } + +private: + int _argc; + char** _argv; +#ifdef DCPOMATIC_WINDOWS + std::vector _argv_strings; +#endif + +}; + + #endif