using namespace std;
using namespace libconfig;
// This example reads the configuration file 'example.cfg', adds a new
// movie record to the movies list, and writes the updated configuration to
// 'updated.cfg'.
int main(int argc, char **argv)
{
static const char *output_file = "updated.cfg";
Config cfg;
// Read the file. If there is an error, report it and exit.
try
{
cfg.readFile("example.cfg");
}
catch(const FileIOException &fioex)
{
std::cerr << "I/O error while reading file." << std::endl;
return(EXIT_FAILURE);
}
catch(const ParseException &pex)
{
std::cerr << "Parse error at " << pex.getFile() << ":" << pex.getLine()
<< " - " << pex.getError() << std::endl;
return(EXIT_FAILURE);
}
// Find the 'movies' setting. Add intermediate settings if they don't yet
// exist.
Setting &root = cfg.getRoot();
if(! root.exists("inventory"))
root.add("inventory", Setting::TypeGroup);
Setting &inventory = root["inventory"];
if(! inventory.exists("movies"))
inventory.add("movies", Setting::TypeList);
Setting &movies = inventory["movies"];
// Create the new movie entry.
Setting &movie = movies.add(Setting::TypeGroup);
movie.add("title", Setting::TypeString) = "Buckaroo Banzai";
movie.add("media", Setting::TypeString) = "DVD";
movie.add("price", Setting::TypeFloat) = 12.99;
movie.add("qty", Setting::TypeInt) = 20;
// Write out the updated configuration.
try
{
cfg.writeFile(output_file);
cerr << "Updated configuration successfully written to: " << output_file
<< endl;
}
catch(const FileIOException &fioex)
{
cerr << "I/O error while writing file: " << output_file << endl;
return(EXIT_FAILURE);
}
return(EXIT_SUCCESS);
}
// eof
s='left'>Commit message (Expand)Author | Files | Lines |
2021-12-14 | dtv-scan-tables: latest UK changes | Simon Liddicott | 4 | -24/+24 |
2021-04-30 | update Brazilian scan files | Mauro Carvalho Chehab | 2476 | -12805/+69312 |
2021-04-30 | Remove legacy entries | Mauro Carvalho Chehab | 129 | -24898/+0 |
2021-04-30 | Add new satellites from Lyngsat | Mauro Carvalho Chehab | 75 | -21/+29721 |
2021-04-30 | Rename a few satellites with two names and update frequencies | Mauro Carvalho Chehab | 2 | -283/+182 |
2021-04-30 | Update frequencies from Lyngsat | Mauro Carvalho Chehab | 188 | -12304/+12666 |