Beispiel #1
0
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);
    }
}