| 401 | |
| 402 | |
| 403 | void File::Save(const fs::path &cfgfname) |
| 404 | { |
| 405 | std::string fname = cfgfname.empty() ? config_filename : cfgfname; |
| 406 | if (fname.empty()) |
| 407 | { |
| 408 | throw ConfigFileException("No configuration filename provided"); |
| 409 | } |
| 410 | |
| 411 | std::ofstream cfgfile(fname); |
| 412 | if (!empty()) |
| 413 | { |
| 414 | cfgfile << Generate() << std::endl; |
| 415 | } |
| 416 | if (cfgfile.fail()) |
| 417 | { |
| 418 | throw ConfigFileException(fname, "Error saving the configuration file"); |
| 419 | } |
| 420 | cfgfile.close(); |
| 421 | } |
| 422 | |
| 423 | |
| 424 | bool File::empty() const |