diff options
Diffstat (limited to 'src/charon/control')
-rw-r--r-- | src/charon/control/interface_manager.h | 21 | ||||
-rw-r--r-- | src/charon/control/interfaces/interface.h | 4 | ||||
-rw-r--r-- | src/charon/control/interfaces/stroke_interface.h | 9 |
3 files changed, 25 insertions, 9 deletions
diff --git a/src/charon/control/interface_manager.h b/src/charon/control/interface_manager.h index 57121c833..ccd9c4979 100644 --- a/src/charon/control/interface_manager.h +++ b/src/charon/control/interface_manager.h @@ -26,7 +26,7 @@ #include <bus/bus.h> /** - * callback to log things triggered by interface_manager + * callback to log things triggered by interface_manager. * * @param param echoed parameter supplied when function invoked * @param signal type of signal @@ -43,8 +43,23 @@ typedef bool(*interface_manager_cb_t)(void* param, signal_t signal, level_t leve typedef struct interface_manager_t interface_manager_t; /** - * @brief The interface_manager controls the daemon. + * @brief The interface_manager loads control interfaces and has helper methods. * + * One job of the interface manager is to load pluggable control interface + * modules, implemented as interface_t. + * @verbatim + + +---------+ +------------+ +--------------+ | + | | | |<----- +--------------+ | | + | daemon |<-----| interface- | +--------------+ |-+ <==|==> IPC + | core | | manager |<----| interfaces |-+ | + | |<-----| | +--------------+ | + | | | | | + +---------+ +------------+ | + + @endverbatim + * The manager does not really use the interfaces, instead, the interface + * use the manager to fullfill their tasks (initiating, terminating, ...). * The interface_manager starts actions by creating jobs. It then tries to * evaluate the result of the operation by listening on the bus. * @@ -82,7 +97,7 @@ struct interface_manager_t { /** - * @brief Create a interface_manager instance and loads all interface modules. + * @brief Creates a interface_manager instance and loads all interface modules. * * @return interface_manager_t object * diff --git a/src/charon/control/interfaces/interface.h b/src/charon/control/interfaces/interface.h index 1949556cc..955f4a4eb 100644 --- a/src/charon/control/interfaces/interface.h +++ b/src/charon/control/interfaces/interface.h @@ -27,6 +27,10 @@ typedef struct interface_t interface_t; /** * @brief Interface for a controller. + * + * An interface controls the daemon by calling functions on the + * interface_manager. All interfaces are manager by the interface_manager + * in a generic way, so they need their own class. * * @b Constructors: * - interface_create() of one of the modules diff --git a/src/charon/control/interfaces/stroke_interface.h b/src/charon/control/interfaces/stroke_interface.h index f189048bd..5eaa32412 100644 --- a/src/charon/control/interfaces/stroke_interface.h +++ b/src/charon/control/interfaces/stroke_interface.h @@ -28,13 +28,10 @@ typedef struct stroke_interface_t stroke_interface_t; #include <control/interfaces/interface.h> /** - * @brief Stroke is a configuration and control interface which - * allows other processes to modify charons behavior. + * @brief Simple configuration interface using unix-sockets. * - * stroke_t allows config manipulation (as whack in pluto). Configurations - * are stored in a special backend, the in-memory local_backend_t. - * Messages of type stroke_msg_t's are sent over a unix socket - * (/var/run/charon.ctl). + * Stroke is a home-brewed communication interface inspired by whack. It + * uses a unix socket (/var/run/charon.ctl). * * @b Constructors: * - stroke_create() |