void ChannelDB::load(const char *filename) { if( !filename ) return; FileXML file; char path[BCTEXTLEN]; prefix_to_path(path, filename); channels.remove_all_objects(); int done = file.read_from_file(path, 1); channels.remove_all_objects(); // Load channels while(!done) { Channel *channel = new Channel; if(!(done = channel->load(&file))) channels.append(channel); else { delete channel; } } }
void ChannelDB::save(const char *prefix) { char path[BCTEXTLEN]; FileXML file; prefix_to_path(path, prefix); if(channels.total) { for(int i = 0; i < channels.total; i++) { // Save channel here channels.values[i]->save(&file); } file.terminate_string(); file.write_to_file(path); } }