summaryrefslogtreecommitdiff
path: root/src/lib/config.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2023-10-06 22:42:44 +0200
committerCarl Hetherington <cth@carlh.net>2024-01-28 02:01:58 +0100
commit1760066150070717bf8954313550afdd25a0f3fe (patch)
treea87d8a8748ce494fb5a6d3f4e8845ba0e868d7b9 /src/lib/config.cc
parent6ae94ebba5f714a697167066f69a8ce31f3db360 (diff)
Clean up grok's presence in the config file and make sure it's optional.
It should be allowed to not have any grok stuff in the config file, and we should generally call it grok rather than GPU in case other non-grok GPU stuff arrives in the future.
Diffstat (limited to 'src/lib/config.cc')
-rw-r--r--src/lib/config.cc66
1 files changed, 48 insertions, 18 deletions
diff --git a/src/lib/config.cc b/src/lib/config.cc
index cf9198b37..9d39a7a8c 100644
--- a/src/lib/config.cc
+++ b/src/lib/config.cc
@@ -218,12 +218,9 @@ Config::set_defaults ()
set_notification_email_to_default ();
set_cover_sheet_to_default ();
- _gpu_binary_location = "";
- _enable_gpu = false;
- _selected_gpu = 0;
- _gpu_license_server = "";
- _gpu_license_port = 5000;
- _gpu_license = "";
+#ifdef DCPOMATIC_GROK
+ _grok = boost::none;
+#endif
_main_divider_sash_position = {};
_main_content_divider_sash_position = {};
@@ -647,12 +644,11 @@ try
_allow_smpte_bv20 = f.optional_bool_child("AllowSMPTEBv20").get_value_or(false);
_isdcf_name_part_length = f.optional_number_child<int>("ISDCFNamePartLength").get_value_or(14);
- _enable_gpu = f.optional_bool_child("EnableGPU").get_value_or(false);
- _gpu_binary_location = f.string_child("GPUBinaryLocation");
- _selected_gpu = f.number_child<int>("SelectedGPU");
- _gpu_license_server = f.string_child ("GPULicenseServer");
- _gpu_license_port = f.number_child<int> ("GPULicensePort");
- _gpu_license = f.string_child("GPULicense");
+#ifdef DCPOMATIC_GROK
+ if (auto grok = f.optional_node_child("Grok")) {
+ _grok = Grok(grok);
+ }
+#endif
_export.read(f.optional_node_child("Export"));
}
@@ -1140,12 +1136,11 @@ Config::write_config () const
/* [XML] ISDCFNamePartLength Maximum length of the "name" part of an ISDCF name, which should be 14 according to the standard */
root->add_child("ISDCFNamePartLength")->add_child_text(raw_convert<string>(_isdcf_name_part_length));
- root->add_child("GPUBinaryLocation")->add_child_text (_gpu_binary_location.string());
- root->add_child("EnableGPU")->add_child_text ((_enable_gpu ? "1" : "0"));
- root->add_child("SelectedGPU")->add_child_text (raw_convert<string> (_selected_gpu));
- root->add_child("GPULicenseServer")->add_child_text (_gpu_license_server);
- root->add_child("GPULicensePort")->add_child_text (raw_convert<string> (_gpu_license_port));
- root->add_child("GPULicense")->add_child_text (_gpu_license);
+#ifdef DCPOMATIC_GROK
+ if (_grok) {
+ _grok->as_xml(root->add_child("Grok"));
+ }
+#endif
_export.write(root->add_child("Export"));
@@ -1670,3 +1665,38 @@ Config::initial_path(string id) const
return iter->second;
}
+
+#ifdef DCPOMATIC_GROK
+
+Config::Grok::Grok(cxml::ConstNodePtr node)
+ : enable(node->bool_child("Enable"))
+ , binary_location(node->string_child("BinaryLocation"))
+ , selected(node->number_child<int>("Selected"))
+ , licence_server(node->string_child("LicenceServer"))
+ , licence_port(node->number_child<int>("LicencePort"))
+ , licence(node->string_child("Licence"))
+{
+
+}
+
+
+void
+Config::Grok::as_xml(xmlpp::Element* node) const
+{
+ node->add_child("BinaryLocation")->add_child_text(binary_location.string());
+ node->add_child("Enable")->add_child_text((enable ? "1" : "0"));
+ node->add_child("Selected")->add_child_text(raw_convert<string>(selected));
+ node->add_child("LicenceServer")->add_child_text(licence_server);
+ node->add_child("LicencePort")->add_child_text(raw_convert<string>(licence_port));
+ node->add_child("Licence")->add_child_text(licence);
+}
+
+
+void
+Config::set_grok(Grok const& grok)
+{
+ _grok = grok;
+ changed(OTHER);
+}
+
+#endif