From 08235c7dedd5e3f4688bfa2e1297a16fd7a96116 Mon Sep 17 00:00:00 2001 From: Andreas Steffen Date: Mon, 8 Nov 2010 22:33:01 +0100 Subject: [PATCH] added get_count() method to IMC/IMV managers --- src/libcharon/plugins/tnc_imc/tnc_imc_manager.c | 7 +++++++ src/libcharon/plugins/tnc_imv/tnc_imv_manager.c | 7 +++++++ src/libcharon/tnc/imc/imc_manager.h | 7 +++++++ src/libcharon/tnc/imv/imv_manager.h | 7 +++++++ 4 files changed, 28 insertions(+) diff --git a/src/libcharon/plugins/tnc_imc/tnc_imc_manager.c b/src/libcharon/plugins/tnc_imc/tnc_imc_manager.c index 5959ab63f..4f7bd7d4f 100644 --- a/src/libcharon/plugins/tnc_imc/tnc_imc_manager.c +++ b/src/libcharon/plugins/tnc_imc/tnc_imc_manager.c @@ -93,6 +93,12 @@ METHOD(imc_manager_t, remove_, imc_t*, return NULL; } +METHOD(imc_manager_t, get_count, int, + private_tnc_imc_manager_t *this) +{ + return this->imcs->get_count(this->imcs); +} + METHOD(imc_manager_t, notify_connection_change, void, private_tnc_imc_manager_t *this, TNC_ConnectionID id, TNC_ConnectionState state) @@ -199,6 +205,7 @@ imc_manager_t* tnc_imc_manager_create(void) .public = { .add = _add, .remove = _remove_, /* avoid name conflict with stdio.h */ + .get_count = _get_count, .notify_connection_change = _notify_connection_change, .begin_handshake = _begin_handshake, .set_message_types = _set_message_types, diff --git a/src/libcharon/plugins/tnc_imv/tnc_imv_manager.c b/src/libcharon/plugins/tnc_imv/tnc_imv_manager.c index 2b0002002..d46b1f3cc 100644 --- a/src/libcharon/plugins/tnc_imv/tnc_imv_manager.c +++ b/src/libcharon/plugins/tnc_imv/tnc_imv_manager.c @@ -93,6 +93,12 @@ METHOD(imv_manager_t, remove_, imv_t*, return NULL; } +METHOD(imv_manager_t, get_count, int, + private_tnc_imv_manager_t *this) +{ + return this->imvs->get_count(this->imvs); +} + METHOD(imv_manager_t, notify_connection_change, void, private_tnc_imv_manager_t *this, TNC_ConnectionID id, TNC_ConnectionState state) @@ -185,6 +191,7 @@ imv_manager_t* tnc_imv_manager_create(void) .public = { .add = _add, .remove = _remove_, /* avoid name conflict with stdio.h */ + .get_count = _get_count, .notify_connection_change = _notify_connection_change, .set_message_types = _set_message_types, .receive_message = _receive_message, diff --git a/src/libcharon/tnc/imc/imc_manager.h b/src/libcharon/tnc/imc/imc_manager.h index 169259f72..7ce54dafd 100644 --- a/src/libcharon/tnc/imc/imc_manager.h +++ b/src/libcharon/tnc/imc/imc_manager.h @@ -48,6 +48,13 @@ struct imc_manager_t { */ imc_t* (*remove)(imc_manager_t *this, TNC_IMCID id); + /** + * Return the number of registered IMCs + * + * @return number of IMCs + */ + int (*get_count)(imc_manager_t *this); + /** * Notify all IMC instances * diff --git a/src/libcharon/tnc/imv/imv_manager.h b/src/libcharon/tnc/imv/imv_manager.h index c7b21d156..fca8d1b0d 100644 --- a/src/libcharon/tnc/imv/imv_manager.h +++ b/src/libcharon/tnc/imv/imv_manager.h @@ -48,6 +48,13 @@ struct imv_manager_t { */ imv_t* (*remove)(imv_manager_t *this, TNC_IMVID id); + /** + * Return the number of registered IMVs + * + * @return number of IMVs + */ + int (*get_count)(imv_manager_t *this); + /** * Notify all IMV instances *