Update copyright year
[umurmur.git] / src / conf.c
index ccd8e05cde4dfefe3f8d7bd468569de9ddca24ad..47504527158775e56f495cb239f39236a9e471b8 100644 (file)
@@ -1,5 +1,5 @@
-/* Copyright (C) 2009-2012, Martin Johansson <martin@fatbob.nu>
-   Copyright (C) 2005-2012, Thorvald Natvig <thorvald@natvig.com>
+/* Copyright (C) 2009-2014, Martin Johansson <martin@fatbob.nu>
+   Copyright (C) 2005-2014, Thorvald Natvig <thorvald@natvig.com>
 
    All rights reserved.
 
@@ -45,6 +45,7 @@ static config_t configuration;
 #define DEFAULT_MAX_BANDWIDTH 48000
 #define DEFAULT_BINDPORT 64738
 #define DEFAULT_BAN_LENGTH (60*60)
+#define DEFAULT_OPUS_THRESHOLD 100
 
 const char defaultconfig[] = DEFAULT_CONFIG;
 
@@ -107,6 +108,17 @@ const char *getStrConf(param_t param)
                                return "/etc/umurmur/private_key.key";
                }
                break;
+       case CAPATH:
+               setting = config_lookup(&configuration, "ca_path");
+               if (!setting)
+                 return NULL;
+               else {
+                       if ((strsetting = config_setting_get_string(setting)) != NULL)
+                               return strsetting;
+                       else
+                               return NULL;
+               }
+               break;
        case PASSPHRASE:
                setting = config_lookup(&configuration, "password");
                if (!setting)
@@ -250,6 +262,14 @@ int getIntConf(param_t param)
                        return config_setting_get_int(setting);
                }
                break;
+       case OPUS_THRESHOLD:
+               setting = config_lookup(&configuration, "opus_threshold");
+               if (!setting)
+                       return DEFAULT_OPUS_THRESHOLD;
+               else {
+                       return config_setting_get_int(setting);
+               }
+               break;
        default:
                doAssert(false);
        }
@@ -324,6 +344,20 @@ int Conf_getNextChannel(conf_channel_t *chdesc, int index)
                chdesc->noenter = false;
        else
                chdesc->noenter = config_setting_get_bool(setting);
+       
+       ret = snprintf(configstr, maxconfig, "channels.[%d].silent", index);
+       setting = config_lookup(&configuration, configstr);
+       if (ret >= maxconfig || ret < 0 || setting == NULL) /* Optional */
+               chdesc->silent = false;
+       else
+               chdesc->silent = config_setting_get_bool(setting);
+       
+       ret = snprintf(configstr, maxconfig, "channels.[%d].position", index);
+       setting = config_lookup(&configuration, configstr);
+       if (ret >= maxconfig || ret < 0 || setting == NULL) /* Optional */
+               chdesc->position = 0;
+       else
+               chdesc->position = config_setting_get_int(setting);
 
        return 0;
 }