From 2695f450ca00654cef8709e4e3cfb4cf5de48fc7 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Tue, 10 May 2022 16:05:51 +0200 Subject: [PATCH] Move some common methods out to cross_unix.cc --- src/lib/cross_linux.cc | 58 ---------------------------- src/lib/cross_osx.cc | 55 --------------------------- src/lib/cross_unix.cc | 86 ++++++++++++++++++++++++++++++++++++++++++ src/lib/wscript | 4 +- 4 files changed, 88 insertions(+), 115 deletions(-) create mode 100644 src/lib/cross_unix.cc diff --git a/src/lib/cross_linux.cc b/src/lib/cross_linux.cc index 89a9c5bb6..919927fda 100644 --- a/src/lib/cross_linux.cc +++ b/src/lib/cross_linux.cc @@ -29,11 +29,6 @@ #include #include #include -LIBDCP_DISABLE_WARNINGS -extern "C" { -#include -} -LIBDCP_ENABLE_WARNINGS #include #if BOOST_VERSION >= 106100 #include @@ -61,21 +56,6 @@ using std::vector; using boost::optional; -/** @param s Number of seconds to sleep for */ -void -dcpomatic_sleep_seconds (int s) -{ - sleep (s); -} - - -void -dcpomatic_sleep_milliseconds (int ms) -{ - usleep (ms * 1000); -} - - /** @return A string of CPU information (model name etc.) */ string cpu_info () @@ -235,36 +215,6 @@ start_player () } -uint64_t -thread_id () -{ - return (uint64_t) pthread_self (); -} - - -int -avio_open_boost (AVIOContext** s, boost::filesystem::path file, int flags) -{ - return avio_open (s, file.c_str(), flags); -} - - -boost::filesystem::path -home_directory () -{ - return getenv("HOME"); -} - - -/** @return true if this process is a 32-bit one running on a 64-bit-capable OS */ -bool -running_32_on_64 () -{ - /* I'm assuming nobody does this on Linux */ - return false; -} - - static vector> get_mounts (string prefix) @@ -368,14 +318,6 @@ disk_write_finished () } - -string -dcpomatic::get_process_id () -{ - return dcp::raw_convert(getpid()); -} - - bool show_in_file_manager (boost::filesystem::path dir, boost::filesystem::path) { diff --git a/src/lib/cross_osx.cc b/src/lib/cross_osx.cc index b214b6359..eb713a980 100644 --- a/src/lib/cross_osx.cc +++ b/src/lib/cross_osx.cc @@ -27,9 +27,6 @@ #include "exceptions.h" #include #include -extern "C" { -#include -} #include #include #if BOOST_VERSION >= 106100 @@ -68,21 +65,6 @@ using boost::optional; using std::function; -/** @param s Number of seconds to sleep for */ -void -dcpomatic_sleep_seconds (int s) -{ - sleep (s); -} - - -void -dcpomatic_sleep_milliseconds (int ms) -{ - usleep (ms * 1000); -} - - /** @return A string of CPU information (model name etc.) */ string cpu_info () @@ -214,36 +196,6 @@ start_player () } -uint64_t -thread_id () -{ - return (uint64_t) pthread_self (); -} - - -int -avio_open_boost (AVIOContext** s, boost::filesystem::path file, int flags) -{ - return avio_open (s, file.c_str(), flags); -} - - -boost::filesystem::path -home_directory () -{ - return getenv("HOME"); -} - - -/** @return true if this process is a 32-bit one running on a 64-bit-capable OS */ -bool -running_32_on_64 () -{ - /* I'm assuming nobody does this on OS X */ - return false; -} - - static optional get_vendor (CFDictionaryRef& description) { @@ -515,13 +467,6 @@ LIBDCP_ENABLE_WARNINGS } -string -dcpomatic::get_process_id () -{ - return dcp::raw_convert(getpid()); -} - - bool show_in_file_manager (boost::filesystem::path, boost::filesystem::path select) { diff --git a/src/lib/cross_unix.cc b/src/lib/cross_unix.cc new file mode 100644 index 000000000..7501a4c08 --- /dev/null +++ b/src/lib/cross_unix.cc @@ -0,0 +1,86 @@ +/* + Copyright (C) 2012-2021 Carl Hetherington + + This file is part of DCP-o-matic. + + DCP-o-matic is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + DCP-o-matic is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with DCP-o-matic. If not, see . + +*/ + + +#include "cross.h" +#include +#include +LIBDCP_DISABLE_WARNINGS +extern "C" { +#include +} +LIBDCP_ENABLE_WARNINGS + + +using std::string; + + +/** @param s Number of seconds to sleep for */ +void +dcpomatic_sleep_seconds (int s) +{ + sleep (s); +} + + +void +dcpomatic_sleep_milliseconds (int ms) +{ + usleep (ms * 1000); +} + + +uint64_t +thread_id () +{ + return (uint64_t) pthread_self (); +} + + +int +avio_open_boost (AVIOContext** s, boost::filesystem::path file, int flags) +{ + return avio_open (s, file.c_str(), flags); +} + + +boost::filesystem::path +home_directory () +{ + return getenv("HOME"); +} + + +/** @return true if this process is a 32-bit one running on a 64-bit-capable OS */ +bool +running_32_on_64 () +{ + /* I'm assuming nobody does this on Linux/macOS */ + return false; +} + + +string +dcpomatic::get_process_id () +{ + return dcp::raw_convert(getpid()); +} + + diff --git a/src/lib/wscript b/src/lib/wscript index b280aec4e..7400c5bf1 100644 --- a/src/lib/wscript +++ b/src/lib/wscript @@ -229,9 +229,9 @@ def build(bld): obj.uselib += ' WINSOCK2 DBGHELP SHLWAPI MSWSOCK BOOST_LOCALE SETUPAPI OLE32 UUID' obj.source += ' cross_windows.cc' if bld.env.TARGET_OSX: - obj.source += ' cross_osx.cc' + obj.source += ' cross_osx.cc cross_unix.cc' if bld.env.TARGET_LINUX: - obj.source += ' cross_linux.cc' + obj.source += ' cross_linux.cc cross_unix.cc' if bld.env.STATIC_DCPOMATIC: obj.uselib += ' XMLPP' -- 2.30.2