本文整理汇总了C++中config_lookup函数的典型用法代码示例。如果您正苦于以下问题:C++ config_lookup函数的具体用法?C++ config_lookup怎么用?C++ config_lookup使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了config_lookup函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: getBoolConf
bool_t getBoolConf(param_t param)
{
config_setting_t *setting = NULL;
switch (param) {
case ALLOW_TEXTMESSAGE:
setting = config_lookup(&configuration, "allow_textmessage");
if (!setting)
return true;
else
return config_setting_get_bool(setting);
break;
case ENABLE_BAN:
setting = config_lookup(&configuration, "enable_ban");
if (!setting)
return false;
else
return config_setting_get_bool(setting);
break;
case SYNC_BANFILE:
setting = config_lookup(&configuration, "sync_banfile");
if (!setting)
return false;
else
return config_setting_get_bool(setting);
break;
default:
doAssert(false);
}
}
开发者ID:Hello71,项目名称:umurmur,代码行数:30,代码来源:conf.c
示例2: dvfs_read_from_config
int dvfs_read_from_config(void * vp, struct config_t * cfg, char * buffer,
char * prefix) {
config_setting_t *setting;
struct dvfs_information * info = vp;
int was_set = 0;
info->freq_before = 0;
info->freq_after = 0;
sprintf(buffer, "%s.%s_freq_before", prefix, DVFS_CONFIG_STRING);
setting = config_lookup(cfg, buffer);
if (setting) {
info->freq_before = config_setting_get_int(setting);
#ifdef VERBOSE
fprintf(stderr,"%s = %" PRId32 "\n",buffer,info->freq_before);
#endif
was_set = 1;
}
sprintf(buffer, "%s.%s_freq_after", prefix, DVFS_CONFIG_STRING);
setting = config_lookup(cfg, buffer);
if (setting) {
info->freq_after = config_setting_get_int(setting);
#ifdef VERBOSE
fprintf(stderr,"%s = %" PRId32 "\n",buffer,info->freq_after);
#endif
was_set = 1;
}
return was_set;
}
开发者ID:rschoene,项目名称:libadapt,代码行数:27,代码来源:dvfs.c
示例3: configureTuner
void configureTuner(config_t *propConfig) {
config_setting_t *blockSetting = config_lookup(propConfig, "tuner.block");
config_setting_t *gridSetting = config_lookup(propConfig, "tuner.grid");
if (blockSetting != NULL && gridSetting != NULL) {
int length = config_setting_length(blockSetting); // Only need the length of one metric
performanceMetricCount = length;
performanceMetric.blockDimList = malloc(sizeof(CudaDim) * length);
performanceMetric.gridDimList = malloc(sizeof(CudaDim) * length);
int i;
for (i = 0; i < length; ++i) {
int x, y, z;
config_setting_t *block = config_setting_get_elem(blockSetting, i);
config_setting_t *grid = config_setting_get_elem(gridSetting, i);
config_setting_lookup_int(block, "x", &x);
config_setting_lookup_int(block, "y", &y);
config_setting_lookup_int(block, "z", &z);
performanceMetric.blockDimList[i].x = (uint32_t) x;
performanceMetric.blockDimList[i].y = (uint32_t) y;
performanceMetric.blockDimList[i].z = (uint32_t) z;
config_setting_lookup_int(grid, "x", &x);
config_setting_lookup_int(grid, "y", &y);
config_setting_lookup_int(grid, "z", &z);
performanceMetric.gridDimList[i].x = (uint32_t) x;
performanceMetric.gridDimList[i].y = (uint32_t) y;
performanceMetric.gridDimList[i].z = (uint32_t) z;
}
}
}
开发者ID:psawmora,项目名称:couldhopper-gpu,代码行数:31,代码来源:smpp_codec.c
示例4: qdb_config
static int qdb_config() {
config_t cfg;
config_setting_t *cfg_qdb;
config_setting_t *cfg_interfaces;
int status = 0;
config_init(&cfg);
if (config_read_file(&cfg,CONFPATH) == CONFIG_FALSE)
goto err;
cfg_qdb = config_lookup(&cfg,"qdb");
if (cfg_qdb == NULL) goto err;
cfg_interfaces = config_lookup(&cfg,"qdb/interfaces");
if (cfg_interfaces == NULL) goto err;
goto done;
err:
printerr(config_error_text(&cfg));
status = -1;
done:
config_destroy(&cfg);
return status;
}
开发者ID:Rabbitlancer,项目名称:qdb,代码行数:25,代码来源:startup.c
示例5: writeCfgCond
int writeCfgCond(void) {
config_t cfg;
config_setting_t *tminTemp = 0;
config_setting_t *tmaxTemp = 0;
config_setting_t *tminHum = 0;
config_setting_t *tmaxHum = 0;
config_setting_t *twebOR = 0;
config_init(&cfg);
if (!config_read_file(&cfg, config_cond_path))
{
printf("\n%s:%d - %s", config_error_file(&cfg), config_error_line(&cfg), config_error_text(&cfg));
config_destroy(&cfg);
return -1;
}
/* lookup variables in config file */
tminTemp = config_lookup(&cfg, "minTemp");
tmaxTemp = config_lookup(&cfg, "maxTemp");
tminHum = config_lookup(&cfg, "minHum");
tmaxHum = config_lookup(&cfg, "maxHum");
twebOR = config_lookup(&cfg, "webOR");
/* get variables from config file then print the variables that changed */
if (config_setting_get_int(tminTemp) != minTemp) {
printf("\nminTemp: %i -> ", config_setting_get_int(tminTemp));
config_setting_set_int(tminTemp, minTemp);
printf("%i", config_setting_get_int(tminTemp));
}
if (config_setting_get_int(tmaxTemp) != maxTemp) {
printf("\nmaxTemp: %i -> ", config_setting_get_int(tmaxTemp));
config_setting_set_int(tmaxTemp, maxTemp);
printf("%i", config_setting_get_int(tmaxTemp));
}
if (config_setting_get_int(tminHum) != minHum) {
printf("\nminHum: %i -> ", config_setting_get_int(tminHum));
config_setting_set_int(tminHum, minHum);
printf("%i", config_setting_get_int(tminHum));
}
if (config_setting_get_int(tmaxHum) != maxHum) {
printf("\nmaxHum: %i -> ", config_setting_get_int(tmaxHum));
config_setting_set_int(tmaxHum, maxHum);
printf("%i", config_setting_get_int(tmaxHum));
}
if (config_setting_get_int(twebOR) != webOR) {
printf("\nwebOR: %i -> ", config_setting_get_int(twebOR));
config_setting_set_int(twebOR, webOR);
printf("%i", config_setting_get_int(twebOR));
}
/* write the modified config file */
config_write_file(&cfg, config_cond_path);
config_destroy(&cfg);
return 0;
}
开发者ID:az0ne,项目名称:Automated-Mushroom-Cultivator,代码行数:56,代码来源:mycodo.c
示例6: snprintf
static config_setting_t *find_node_libconfig(config_t *cfg,
const char *field, struct swupdate_cfg *swcfg)
{
config_setting_t *setting;
struct hw_type *hardware;
char node[1024];
if (!field)
return NULL;
hardware = &swcfg->hw;
if (strlen(swcfg->running_mode) && strlen(swcfg->software_set)) {
/* Try with both software set and board name */
if (strlen(hardware->boardname)) {
snprintf(node, sizeof(node), "%s.%s.%s.%s.%s",
NODEROOT,
hardware->boardname,
swcfg->software_set,
swcfg->running_mode,
field);
setting = config_lookup(cfg, node);
if (setting)
return setting;
}
/* still here, try with software set and mode */
snprintf(node, sizeof(node), "%s.%s.%s.%s",
NODEROOT,
swcfg->software_set,
swcfg->running_mode,
field);
setting = config_lookup(cfg, node);
if (setting)
return setting;
}
/* Try with board name */
if (strlen(hardware->boardname)) {
snprintf(node, sizeof(node), "%s.%s.%s",
NODEROOT,
hardware->boardname,
field);
setting = config_lookup(cfg, node);
if (setting)
return setting;
}
/* Fall back without board entry */
snprintf(node, sizeof(node), "%s.%s",
NODEROOT,
field);
return config_lookup(cfg, node);
}
开发者ID:kartben,项目名称:swupdate,代码行数:54,代码来源:parser.c
示例7: main
int main(int argc, char **argv) {
char SRVR[1000];
char *p=SRVR;
config_t config;
config_init(&config);
if ( config_read_file(&config, "/etc/snowflake.conf") == CONFIG_TRUE ) {
printf("PARt 1\n");
const config_setting_t *setting = config_lookup(&config, "server");
if( setting != NULL) {
p = config_setting_get_string(setting);
printf("opened file\n");
printf("SERVER ADDRESS = %s\n",p);
}
else {
printf("ERROR\n");
}
}
else {
fprintf(stderr, "%s:%d - %s\n", config_error_file(&config),
config_error_line(&config), config_error_text(&config));
config_destroy(&config);
return(1);
}
}
开发者ID:SwitchCase,项目名称:SnowFlake,代码行数:28,代码来源:smaller.c
示例8: mst_read_globals
int mst_read_globals(config_t *pconfig)
{
int rv = -1;
config_setting_t *globals;
int intval = 0;
// Load default globals value
g_mst_conf.mpool_size = 80; // 80 MB
g_mst_conf.mbuf_size = 16; // 16 MB
g_mst_conf.nw_streams = 10; // 10 outstreams
globals = config_lookup(pconfig, "globals");
if (!globals) {
fprintf(stderr, "No globals sections was found. Proceeding with defaults.\n");
return CONFIG_TRUE;
}
rv = config_setting_lookup_int(globals, "mpool", &intval);
if (CONFIG_TRUE == rv) {
g_mst_conf.mpool_size = intval;
}
rv = config_setting_lookup_int(globals, "mbuf", &intval);
if (CONFIG_TRUE == rv) {
g_mst_conf.mbuf_size = intval;
}
rv = config_setting_lookup_int(globals, "nw_streams", &intval);
if (CONFIG_TRUE == rv) {
g_mst_conf.nw_streams = intval;
}
return CONFIG_TRUE;
}
开发者ID:hi2arun,项目名称:mstunnel,代码行数:33,代码来源:mst_config.c
示例9: upd8_config_parse
// TODO: audit exit routes to "unset"/"unalloc" values.
int upd8_config_parse(upd8_config_t *config, const char *config_file) {
// TODO: check that config is not null.
config_t *cfg = malloc(sizeof(config_t));
config_init(cfg);
if (!config_read_file(cfg, config_file)) {
fprintf(stderr, "%s:%d - %s\n", config_error_file(cfg),
config_error_line(cfg), config_error_text(cfg));
config_destroy(cfg);
return EXIT_FAILURE;
}
config->cfg = cfg;
config_setting_t *settings;
settings = config_lookup(cfg, settings_path);
if (settings == NULL) {
fprintf(stderr, "Unable to find %s in %s\n", settings_path, config_file);
config_destroy(cfg);
return EXIT_FAILURE;
}
config->num_sources = config_setting_length(settings);
config->sources = malloc(config->num_sources * sizeof(upd8_source_t));
for (int i = 0; i < config->num_sources; ++i) {
config_setting_t *individual_config = config_setting_get_elem(settings, i);
upd8_source_parse(&(config->sources[i]), individual_config);
}
return 0;
}
开发者ID:shalecraig,项目名称:updatemgr,代码行数:33,代码来源:config.c
示例10: config_lookup
const char *config_get_string_elem(config_t *config, char *setting, int element, const char *initial)
{
const char *value;
config_setting_t *config_setting = config_lookup(config,setting);
PRINT_SETTING;
if (config_setting == NULL)
{
PRINT_NOT_FOUND;
value = initial;
}
else
{
if ((value = config_setting_get_string_elem(config_setting,element)) == NULL)
{
PRINT_NOT_FOUND;
value = initial;
}
}
PRINT_VALUE_STR;
return value;
}
开发者ID:TheKeyboardist,项目名称:interface,代码行数:25,代码来源:cfg.c
示例11: main
int main()
{
/* Initialize the configuration */
config_init(&cfg);
/* Load the file */
printf("loading [sample.cfg]..");
if (!config_read_file(&cfg, "sample.cfg"))
printf("failed\n");
else
{
printf("ok\n");
/* Display the "values" array */
printf("display \"values\"..");
config_setting_t *array = config_lookup(&cfg, "values");
if (!array)
printf("failed\n");
else
{
long value1,value2;
value1 = config_setting_get_int_elem(array, 0);
value2 = config_setting_get_int_elem(array, 1);
printf("[%lu %lu]..ok\n", value1, value2);
printf("Done!\n");
}
}
/* Free the configuration */
config_destroy(&cfg);
return 0;
}
开发者ID:aveek0218,项目名称:ImpalaPythia,代码行数:35,代码来源:sample2.c
示例12: UTF8_Encode
config_setting_t *cfgLookup(const config_t *config, const TCHAR *path)
{
char uPath[MAX_PATH];
UTF8_Encode(path, uPath, MAX_PATH);
return config_lookup(config, uPath);
}
开发者ID:dhirallin,项目名称:PlayMailer,代码行数:7,代码来源:libconfig_helper.c
示例13: processRequest
static int processRequest(char *request) {
int count = 0;
int responseTotal = 0;
config_setting_t *responseConfig = NULL;
config_setting_t *responseCurrent = NULL;
const char *responseValue = NULL;
const char *requestName = NULL;
const char *requestValue = NULL;
long volume;
pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, NULL);
pthread_mutex_lock(&lockConfig);
responseConfig = config_lookup(&config, "response");
responseTotal = config_setting_length(responseConfig);
for(count = 0; count < responseTotal; count++) {
responseCurrent = config_setting_get_elem(responseConfig, count);
if((responseValue = config_setting_get_string_elem(responseCurrent, 1)) != NULL &&
strcmp(responseValue, request) == 0) {
responseValue = config_setting_get_string_elem(responseCurrent, 2);
if(config_setting_get_bool_elem(responseCurrent, 0) == 1) { // formulating default response
pthread_mutex_unlock(&lockConfig);
pthread_setcancelstate(PTHREAD_CANCEL_ENABLE, NULL);
common_data.interface->reply(responseValue, strlen(responseValue));
}
else { // attempt to formulate custom response
requestName = config_setting_name(responseCurrent);
pthread_mutex_unlock(&lockConfig);
pthread_setcancelstate(PTHREAD_CANCEL_ENABLE, NULL);
if(strcmp(requestName, "volume") == 0) {
if(getMixer(&volume) == EXIT_FAILURE) {
return EXIT_FAILURE;
}
replyVolumeCommand(&volume);
}
else {
statusInfo.retrieve(requestName, &requestValue);
if(requestValue != NULL)
replyDeviceCommand((char *)requestName, (char *)requestValue);
else // custom response not possible, reverting to default value
replyDeviceCommand((char *)requestName, (char *)responseValue);
}
}
syslog(LOG_DEBUG, "Successfully processed request: %s", request);
return EXIT_SUCCESS; // command is matched, returning
}
else {
pthread_mutex_unlock(&lockConfig);
pthread_setcancelstate(PTHREAD_CANCEL_ENABLE, NULL);
}
}
syslog(LOG_DEBUG, "Could not identify request: %s", request);
return EXIT_SUCCESS;
}
开发者ID:therealmuffin,项目名称:synchronator,代码行数:60,代码来源:processAscii.c
示例14: thread_manager_mod_init
void thread_manager_mod_init(na_module_t *module, void *userdata)
{
char **k_setting;
config_setting_t *k;
char tmpbuffer[256];
assert( module != NULL );
if ( module->object_new )
module->data = (*module->object_new)(userdata);
if ( module->data == NULL )
{
l_errorf("failed to initialize static module %s", module->name);
return;
}
/* search and inject configuration
* noya.modules.<modulename>.<key> = <value>
*/
k_setting = module->settings;
if ( k_setting )
{
while ( *k_setting != NULL )
{
snprintf(tmpbuffer, sizeof(tmpbuffer), "noya.modules.%s.%s",
module->name, *k_setting);
k = config_lookup(&g_config, tmpbuffer);
if ( k != NULL )
(*module->object_config)(module->data, *k_setting, k);
k_setting++;
}
}
if ( module->object_prepare )
(*module->object_prepare)(module->data, NULL);
}
开发者ID:tito,项目名称:noya,代码行数:35,代码来源:context_noya.c
示例15: configure_cgi_handlers
void configure_cgi_handlers(spade_server* server, config_t* configuration) {
config_setting_t* handler_settings = config_lookup(configuration,
"cgi.handlers");
int cgi_handler_count = config_setting_length(handler_settings);
for (int n = 0; n < cgi_handler_count; n++) {
config_setting_t* handler_setting = config_setting_get_elem(
handler_settings, n);
const char* handler = NULL;
config_setting_lookup_string(handler_setting, "handler", &handler);
const char* url = NULL;
config_setting_lookup_string(handler_setting, "url", &url);
if(!register_cgi_handler(server, url, handler)) {
log4c_category_log(log4c_category_get("spade"), LOG4C_PRIORITY_INFO,
"Registered CGI handler '%s' for URL prefix '%s'",
handler, url);
}
}
if (server->cgi_handler_count == 0) {
log4c_category_log(log4c_category_get("spade"), LOG4C_PRIORITY_INFO,
"No CGI handlers registered");
} else {
log4c_category_log(log4c_category_get("spade"), LOG4C_PRIORITY_INFO,
"Registered a total of %d CGI handlers",
server->cgi_handler_count);
}
}
开发者ID:peplin,项目名称:spade,代码行数:29,代码来源:config.c
示例16: configure_clay_handlers
void configure_clay_handlers(spade_server* server, config_t* configuration) {
config_setting_t* handler_settings = config_lookup(configuration,
"clay.handlers");
if (!handler_settings) {
log4c_category_log(log4c_category_get("spade"), LOG4C_PRIORITY_INFO,
"No Clay handlers registered");
return;
}
int clay_handler_count = config_setting_length(handler_settings);
for (int n = 0; n < clay_handler_count; n++) {
config_setting_t* handler_setting = config_setting_get_elem(
handler_settings, n);
const char* endpoint = NULL;
config_setting_lookup_string(handler_setting, "endpoint", &endpoint);
const char* url = NULL;
config_setting_lookup_string(handler_setting, "url", &url);
if(!register_clay_handler(server, url, endpoint)) {
log4c_category_log(log4c_category_get("spade"), LOG4C_PRIORITY_INFO,
"Registered Clay handler for URL prefix '%s' at endpoint %s",
url, endpoint);
}
}
if (server->clay_handler_count == 0) {
log4c_category_log(log4c_category_get("spade"), LOG4C_PRIORITY_INFO,
"No Clay handlers registered");
} else {
log4c_category_log(log4c_category_get("spade"), LOG4C_PRIORITY_INFO,
"Registered a total of %d Clay handlers",
server->clay_handler_count);
}
}
开发者ID:peplin,项目名称:spade,代码行数:34,代码来源:config.c
示例17: print_layouts
void print_layouts(int num_frame)
{
config_setting_t *category_list, *category, *layout_list, *layout;
config_t layout_config;
int layout_length, i;
const char* ascii_image;
config_init(&layout_config);
config_read_file(&layout_config, "./layout.cfg");
category_list = config_lookup(&layout_config, "application.layout_group");
category = config_setting_get_elem(category_list, num_frame - MIN_NUM_FRAME);
layout_list = config_setting_get_member(category, "layout");
layout_length = config_setting_length(layout_list);
for(i = 0; i < layout_length; i++)
{
layout = config_setting_get_elem(layout_list, i);
config_setting_lookup_string(layout, "image", &ascii_image);
printf(" %c)\n", 'a' + i);
printf("%s\n", ascii_image);
}
config_destroy(&layout_config);
}
开发者ID:ChiaraCaiazza,项目名称:collageMaker,代码行数:26,代码来源:layout.c
示例18: privio_reader
int privio_reader(config_t *cfg, const char **args){
int in_file, n;
void *buf;
config_setting_t *read_block_size;
long long block_size;
privio_debug(cfg, DBG_INFO, "Reading from %s\n", args[0]);
in_file = open(args[0], O_RDONLY);
if (in_file == -1){
privio_debug(cfg, DBG_VERBOSE, "Error opening file %s: %s\n", args[0], strerror(errno));
return errno;
}
privio_debug(cfg, DBG_DEBUG3, "Opened %s as descriptor %d\n", args[0], in_file);
read_block_size = config_lookup(cfg, "privio.io.reader_block_size");
block_size = config_setting_get_int(read_block_size);
buf = (void*)malloc(block_size);
/* read from stdin, write to fp */
while ((n = read(in_file, buf, block_size)) > 0){
write(fileno(stdout), buf, n);
}
if (n == -1)
privio_debug(cfg, DBG_VERBOSE, "Error reading file %s: %s\n", args[0], strerror(errno));
privio_debug(cfg, DBG_INFO, "Closing %s\n", args[0]);
close(in_file);
return 0;
}
开发者ID:brlindblom,项目名称:privio,代码行数:35,代码来源:reader.c
示例19: read_dokan_config
/*! \brief read dokan config from local config */
static int read_dokan_config(config_t * config)
{
config_setting_t * dokan_setting = config_lookup(config, "dokan");
if (dokan_setting == NULL)
{
message(LOG_INFO, FACILITY_CONFIG, "No dokan section was found in local config.\n");
return CONFIG_TRUE;
}
int rv;
const char * volume_name;
/* dokan::volume_name */
rv = config_setting_lookup_string(dokan_setting, "volume_name", &volume_name);
if (rv == CONFIG_TRUE)
{
xmkstring(&(zfs_config.dokan.volume_name), volume_name);
}
const char * file_system_name;
/* dokan::filesystem_name */
rv = config_setting_lookup_string(dokan_setting, "file_system_name", &file_system_name);
if (rv == CONFIG_TRUE)
{
xmkstring(&(zfs_config.dokan.file_system_name), file_system_name);
}
return CONFIG_TRUE;
}
开发者ID:snua12,项目名称:zlomekfs,代码行数:29,代码来源:local_config.c
示例20: load_mods
static int
load_mods(config_t *config, config_setting_t *setting)
{
int err;
unsigned int mod_count;
int i;
const char* mod_name;
const char* mod_so;
const char* mod_ident;
config_setting_t *mod_setting;
err = 0;
fprintf(stderr, "load mods from config\n");
setting = config_lookup(config, "mods");
if (setting != NULL) {
mod_count = config_setting_length(setting);
for (i = 0; i < mod_count; ++i) {
mod_setting = config_setting_get_elem(setting, i);
if (mod_setting) {
if (!config_setting_lookup_string(mod_setting,
"name",
&mod_name) ||
!config_setting_lookup_string(mod_setting,
"so",
&mod_so)) {
continue;
}
if (!config_setting_lookup_string(mod_setting,
"ident",
&mod_ident)) {
mod_ident = NULL;
}
fprintf(stderr, "load module %s - %s - [%s]\n",
mod_name, mod_so, mod_ident);
module_t *mod = module_open(mod_name,
mod_ident,
mod_so,
RTLD_NOW);
if (!mod) {
err = 1;
break;
}
if (module_map_insert(&g_config.module_root, mod) == NULL) {
err = 1;
module_close(mod);
break;
}
if (module_call_init_func(mod, &g_config)) {
fprintf(stderr, "ERROR %s returned not 0\n", mod->name);
err = 1;
module_close(mod);
break;
}
}
}
}
return err;
}
开发者ID:MarkusPfundstein,项目名称:Network-HTTP-Server,代码行数:59,代码来源:main.c
注:本文中的config_lookup函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论