From b59b61ede6283138096327a06b5ef17cbc23288e Mon Sep 17 00:00:00 2001 From: Jussi Kukkonen Date: Fri, 1 Nov 2013 10:46:11 +0200 Subject: [settings] Add "port" setting Signed-off-by: Jussi Kukkonen --- libdleyna/core/settings.c | 23 +++++++++++++++++++++++ libdleyna/core/settings.h | 2 ++ 2 files changed, 25 insertions(+) diff --git a/libdleyna/core/settings.c b/libdleyna/core/settings.c index 42ae27c..71f680d 100644 --- a/libdleyna/core/settings.c +++ b/libdleyna/core/settings.c @@ -35,6 +35,7 @@ struct dleyna_settings_t_ { /* Global section */ gboolean never_quit; gchar *connector_name; + guint port; /* Log section */ dleyna_log_type_t log_type; @@ -48,6 +49,7 @@ struct dleyna_settings_t_ { #define DLEYNA_SETTINGS_GROUP_GENERAL "general" #define DLEYNA_SETTINGS_KEY_NEVER_QUIT "never-quit" #define DLEYNA_SETTINGS_KEY_CONNECTOR_NAME "connector-name" +#define DLEYNA_SETTINGS_KEY_PORT "port" #define DLEYNA_SETTINGS_GROUP_LOG "log" #define DLEYNA_SETTINGS_KEY_LOG_TYPE "log-type" @@ -76,6 +78,8 @@ do { \ DLEYNA_LOG_DEBUG_NL(); \ DLEYNA_LOG_INFO("Connector Name: %s", (settings)->connector_name);\ DLEYNA_LOG_DEBUG_NL(); \ + DLEYNA_LOG_INFO("Port: %u", (settings)->port);\ + DLEYNA_LOG_DEBUG_NL(); \ \ DLEYNA_LOG_INFO("[Logging settings]"); \ DLEYNA_LOG_INFO("Log Type : %d", (settings)->log_type); \ @@ -245,6 +249,7 @@ static void prv_read_keys(dleyna_settings_t *settings) gboolean b_val; gint int_val; gchar *s_val; + guint64 u_val; gint *int_star; gsize length; gchar **list; @@ -274,6 +279,18 @@ static void prv_read_keys(dleyna_settings_t *settings) error = NULL; } + u_val = g_key_file_get_uint64(keyfile, + DLEYNA_SETTINGS_GROUP_GENERAL, + DLEYNA_SETTINGS_KEY_PORT, + &error); + + if (error == NULL) { + settings->port = (guint)u_val; + } else { + g_error_free(error); + error = NULL; + } + int_val = g_key_file_get_integer(keyfile, DLEYNA_SETTINGS_GROUP_LOG, DLEYNA_SETTINGS_KEY_LOG_TYPE, @@ -334,6 +351,7 @@ static void prv_init_default(dleyna_settings_t *settings) settings->never_quit = DLEYNA_SETTINGS_DEFAULT_NEVER_QUIT; settings->connector_name = g_strdup( DLEYNA_SETTINGS_DEFAULT_CONNECTOR_NAME); + settings->port = 0; settings->log_type = DLEYNA_SETTINGS_DEFAULT_LOG_TYPE; settings->log_level = DLEYNA_SETTINGS_DEFAULT_LOG_LEVEL; @@ -426,6 +444,11 @@ const gchar *dleyna_settings_connector_name(dleyna_settings_t *settings) return settings->connector_name; } +guint dleyna_settings_port(dleyna_settings_t *settings) +{ + return settings->port; +} + static void prv_save_settings_to_file(dleyna_settings_t *settings, GError **error) { diff --git a/libdleyna/core/settings.h b/libdleyna/core/settings.h index 76d2198..3575242 100644 --- a/libdleyna/core/settings.h +++ b/libdleyna/core/settings.h @@ -35,6 +35,8 @@ const gchar *dleyna_settings_connector_name(dleyna_settings_t *settings); gboolean dleyna_settings_is_never_quit(dleyna_settings_t *settings); +guint dleyna_settings_port(dleyna_settings_t *settings); + void dleyna_settings_set_never_quit(dleyna_settings_t *settings, gboolean never_quit, GError **error); -- cgit v1.2.1