Make dcp::init() take a general resources directory rather than specifically tags.
authorCarl Hetherington <cth@carlh.net>
Tue, 1 Mar 2022 19:29:13 +0000 (20:29 +0100)
committerCarl Hetherington <cth@carlh.net>
Mon, 14 Mar 2022 22:05:31 +0000 (23:05 +0100)
src/util.cc
src/util.h

index 5133a43bac8dc83fcc76ac46313cb50a0c8b0e97..7a5733c2d590178dcb6c807b7406ba840b56d94a 100644 (file)
@@ -170,7 +170,7 @@ dcp::empty_or_white_space (string s)
 
 
 void
-dcp::init (optional<boost::filesystem::path> tags_directory)
+dcp::init (optional<boost::filesystem::path> given_resources_directory)
 {
        if (xmlSecInit() < 0) {
                throw MiscError ("could not initialise xmlsec");
@@ -194,11 +194,7 @@ dcp::init (optional<boost::filesystem::path> tags_directory)
 
        asdcp_smpte_dict = &ASDCP::DefaultSMPTEDict();
 
-       if (!tags_directory) {
-               tags_directory = resources_directory() / "tags";
-       }
-
-       load_language_tag_lists (*tags_directory);
+       load_language_tag_lists (given_resources_directory.get_value_or(resources_directory()) / "tags");
 }
 
 
index 427ab427d1b55c1ca9423639ef2bb0db7b06e170..89278f92b37a1bc273110ebb78b349a96d2de5fa 100644 (file)
@@ -95,11 +95,12 @@ extern std::string remove_urn_uuid (std::string raw);
 /** Set up various bits that the library needs.  Should be called once
  *  by client applications.
  *
- *  @param tags_directory Path to a copy of the tags directory from the source code;
- *  if none is specified libdcp will look for a tags directory in the environment
- *  variable LIBDCP_RESOURCES or based on where the current executable is.
+ *  @param resources_directory Path to a directory containing the tags and xsd
+ *  directories from the source code; if none is specified libdcp will look
+ *  in the directory given by LIBDCP_RESOURCES or based on where the current
+ *  executable is.
  */
-extern void init (boost::optional<boost::filesystem::path> tags_directory = boost::optional<boost::filesystem::path>());
+extern void init (boost::optional<boost::filesystem::path> resources_directory = boost::optional<boost::filesystem::path>());
 
 /** Decode a base64 string.  The base64 decode routine in KM_util.cpp
  *  gives different values to both this and the command-line base64