Update copyright year.
[umurmur.git] / src / conf.c
index 2a83e53e0712025f072a3587f4d29d3bb8ff86a1..a110056d3e1cef926fc9a11bacf4c451ee7ddcd4 100644 (file)
@@ -1,5 +1,5 @@
-/* Copyright (C) 2009-2011, Martin Johansson <martin@fatbob.nu>
-   Copyright (C) 2005-2011, Thorvald Natvig <thorvald@natvig.com>
+/* Copyright (C) 2009-2013, Martin Johansson <martin@fatbob.nu>
+   Copyright (C) 2005-2013, Thorvald Natvig <thorvald@natvig.com>
 
    All rights reserved.
 
@@ -44,6 +44,8 @@ static config_t configuration;
 #define DEFAULT_MAX_CLIENTS 10
 #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;
 
@@ -117,6 +119,17 @@ const char *getStrConf(param_t param)
                                return "";
                }
                break;
+       case ADMIN_PASSPHRASE:
+               setting = config_lookup(&configuration, "admin_password");
+               if (!setting)
+                       return "";
+               else {
+                       if ((strsetting = config_setting_get_string(setting)) != NULL)
+                               return strsetting;
+                       else
+                               return "";
+               }
+               break;
        case BINDADDR:
                setting = config_lookup(&configuration, "bindaddr");
                if (!setting)
@@ -183,6 +196,17 @@ const char *getStrConf(param_t param)
                        return NULL;
                }
                break;
+       case BANFILE:
+               setting = config_lookup(&configuration, "banfile");
+               if (!setting)
+                       return NULL;
+               else {
+                       if ((strsetting = config_setting_get_string(setting)) != NULL)
+                               return strsetting;
+                       else
+                       return NULL;
+               }
+               break;
        default:
                doAssert(false);
                break;
@@ -203,6 +227,14 @@ int getIntConf(param_t param)
                        return config_setting_get_int(setting);
                }
                break;
+       case BAN_LENGTH:
+               setting = config_lookup(&configuration, "ban_length");
+               if (!setting)
+                       return DEFAULT_BAN_LENGTH;
+               else {
+                       return config_setting_get_int(setting);
+               }
+               break;
        case MAX_BANDWIDTH:
                setting = config_lookup(&configuration, "max_bandwidth");
                if (!setting)
@@ -219,6 +251,45 @@ 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);
+       }
+}
+
+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);
        }