/* * Copyright 2009, 2010 Free Software Foundation, Inc. * Copyright 2010 Kestrel Signal Processing, Inc. * * * This software is distributed under the terms of the GNU Affero Public License. * See the COPYING file in the main directory for details. * * This use of this software may be subject to additional restrictions. * See the LEGAL file in the main directory for details. This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . */ #include "Configuration.h" #include #include using namespace std; ConfigurationKeyMap getConfigurationKeys(); ConfigurationTable gConfig("exampleconfig.db","test", getConfigurationKeys()); void purgeConfig(void*,int,char const*, char const*, sqlite3_int64) { //cout << "update hook" << endl; gConfig.purge(); } int main(int argc, char *argv[]) { gConfig.setUpdateHook(purgeConfig); const char *keys[5] = {"key1", "key2", "key3", "key4", "key5"}; for (int i=0; i<5; i++) { gConfig.set(keys[i],i); } for (int i=0; i<5; i++) { cout << "table[" << keys[i] << "]=" << gConfig.getStr(keys[i]) << endl; cout << "table[" << keys[i] << "]=" << gConfig.getNum(keys[i]) << endl; } for (int i=0; i<5; i++) { cout << "defined table[" << keys[i] << "]=" << gConfig.defines(keys[i]) << endl; } gConfig.set("key5","100 200 300 400 "); std::vector vect = gConfig.getVector("key5"); cout << "vect length " << vect.size() << ": "; for (unsigned i=0; i svect = gConfig.getVectorOfStrings("key5"); cout << "vect length " << svect.size() << ": "; for (unsigned i=0; igetName()] = *tmp; free(tmp); tmp = new ConfigurationKey("numnumber","42", "", ConfigurationKey::DEVELOPER, ConfigurationKey::VALRANGE, "0-100", false, "" ); map[tmp->getName()] = *tmp; free(tmp); tmp = new ConfigurationKey("newstring","new string value", "", ConfigurationKey::DEVELOPER, ConfigurationKey::STRING, "", false, "" ); map[tmp->getName()] = *tmp; free(tmp); return map; }