#include <boost/thread/once.hpp>\r
\r
#include <functional>\r
+#include <iostream>\r
\r
namespace caspar { namespace env {\r
\r
\r
void configure(const std::string& filename)\r
{\r
- std::string initialPath = boost::filesystem::initial_path().file_string();\r
+ try\r
+ {\r
+ std::string initialPath = boost::filesystem::initial_path().file_string();\r
\r
- boost::property_tree::read_xml(initialPath + "\\" + filename, pt);\r
-\r
- auto paths = pt.get_child("configuration.paths");\r
- media = widen(paths.get("media-path", initialPath + "\\media\\"));\r
- log = widen(paths.get("log-path", initialPath + "\\log\\"));\r
- ftemplate = complete(wpath(widen(paths.get("template-path", initialPath + "\\template\\")))).string();\r
-\r
- ftemplate_host = widen(paths.get("template-host", "cg.fth"));\r
-\r
- data = widen(paths.get("data-path", initialPath + "\\data\\"));\r
+ boost::property_tree::read_xml(initialPath + "\\" + filename, pt);\r
+\r
+ auto paths = pt.get_child("configuration.paths");\r
+ media = widen(paths.get("media-path", initialPath + "\\media\\"));\r
+ log = widen(paths.get("log-path", initialPath + "\\log\\"));\r
+ ftemplate = complete(wpath(widen(paths.get("template-path", initialPath + "\\template\\")))).string();\r
+\r
+ ftemplate_host = widen(paths.get("template-host", "cg.fth"));\r
+\r
+ data = widen(paths.get("data-path", initialPath + "\\data\\"));\r
+ }\r
+ catch(...)\r
+ {\r
+ std::wcout << L" ### Invalid configuration file. ###";\r
+ throw;\r
+ }\r
}\r
\r
const std::wstring& media_folder()\r