diff options
Diffstat (limited to 'src/libcharon/plugins/tnc_imc/tnc_imc_manager.c')
-rw-r--r-- | src/libcharon/plugins/tnc_imc/tnc_imc_manager.c | 11 |
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; |