aboutsummaryrefslogtreecommitdiffstats
path: root/src/libcharon/plugins/tnc_imc/tnc_imc_manager.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libcharon/plugins/tnc_imc/tnc_imc_manager.c')
-rw-r--r--src/libcharon/plugins/tnc_imc/tnc_imc_manager.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/libcharon/plugins/tnc_imc/tnc_imc_manager.c b/src/libcharon/plugins/tnc_imc/tnc_imc_manager.c
index aa20534f5..a04e49522 100644
--- a/src/libcharon/plugins/tnc_imc/tnc_imc_manager.c
+++ b/src/libcharon/plugins/tnc_imc/tnc_imc_manager.c
@@ -43,6 +43,11 @@ struct private_tnc_imc_manager_t {
* Next IMC ID to be assigned
*/
TNC_IMCID next_imc_id;
+
+ /**
+ * Preferred language
+ */
+ char *preferred_language;
};
METHOD(imc_manager_t, add, bool,
@@ -95,8 +100,7 @@ METHOD(imc_manager_t, remove_, imc_t*,
METHOD(imc_manager_t, get_preferred_language, char*,
private_tnc_imc_manager_t *this)
{
- return lib->settings->get_str(lib->settings,
- "charon.plugins.tnc-imc.preferred_language", "en");
+ return this->preferred_language;
}
METHOD(imc_manager_t, notify_connection_change, void,
@@ -208,6 +212,7 @@ METHOD(imc_manager_t, destroy, void,
imc->destroy(imc);
}
this->imcs->destroy(this->imcs);
+ free(this->preferred_language);
free(this);
}
@@ -232,6 +237,8 @@ imc_manager_t* tnc_imc_manager_create(void)
},
.imcs = linked_list_create(),
.next_imc_id = 1,
+ .preferred_language = lib->settings->alloc_str(lib->settings,
+ "charon.plugins.tnc-imc.preferred_language", "en");
);
return &this->public;