#include <stdlib.h>
#include <string.h>
#include "_lcmaps_pluginmanager.h"
#include "lcmaps_log.h"
#include "evaluationmanager.h"
Go to the source code of this file.
Functions | |
int | free_lcmaps_db_entry () |
int | startEvaluationManager (const char *name, int argc, char *argv[]) |
int | getPluginNameAndArgs (lcmaps_db_entry_t **plugins) |
int | runEvaluationManager (int argc, char *argv[]) |
int | stopEvaluationManager (void) |
Variables | |
lcmaps_db_entry_t * | global_plugin_list = NULL |
Besides the implementation of the interface of the evaluation manager some additional functions are implemented here. Please note that these are not part of the interface and hence should not be used. Look in evaluationmanager.h for the functions that can be called by external sources.
Definition in file evaluationmanager.c.
|
During the getPluginsAndArgs() call, a list structure is created. This structure is never cleaned automatically, nor can it be. When it is necessay and safe to free the resources, call this function
Definition at line 336 of file evaluationmanager.c. References global_plugin_list, lcmaps_db_entry_t, and lcmaps_db_entry_s::next. Referenced by stopEvaluationManager(). |
|
Get a list of plugins and their arguments based on the configuration file. The memory that is allocted is freed during the stopEvaluationManager() call.
Definition at line 129 of file evaluationmanager.c. References plugin_s::args, get_plugins(), global_plugin_list, lcmaps_db_entry_t, lcmaps_log(), lcmaps_log_debug(), LCMAPS_MAXARGSTRING, LCMAPS_MAXPATHLEN, plugin_s::name, lcmaps_db_entry_s::next, plugin_s::next, pdl_path(), plugin_t, lcmaps_db_entry_s::pluginargs, lcmaps_db_entry_s::pluginname, and TRUE. Referenced by startPluginManager(). |
|
Run the evaluation manager. The evaluation manager has to be initialized by calling statrEvaluation Manager first.
Definition at line 224 of file evaluationmanager.c. References EVALUATION_FAILURE, EVALUATION_START, EVALUATION_SUCCESS, get_current_policy(), lcmaps_log(), lcmaps_log_debug(), policy_s::name, pdl_next_plugin(), plugin_status_t, policy_t, and runPlugin(). Referenced by runPluginManager(). |
|
Start the evaluation manager.
Definition at line 72 of file evaluationmanager.c. References check_policies_for_recursion(), cleanup_policies(), pdl_init(), reduce_policies(), stopEvaluationManager(), and yyparse_errors(). Referenced by startPluginManager(). |
|
Stop the evaluation manager after is has run successfully. Strictly speaking, the evalauation manager needs no stopping. This call is a good point to clean up the resources used by the evaluation manager.
Definition at line 315 of file evaluationmanager.c. References free_lcmaps_db_entry(), free_resources(), and lcmaps_log_debug(). Referenced by startEvaluationManager(), and stopPluginManager(). |
|
When the getPluginNameAndArgs() function has been called, the global_plugin_list variable get initialized with the first element of the list. This variable is later used to free the resources held by the list. In addition, multiple calls to getPluginNameAndArgs() result in returning the value of this pointer. Definition at line 57 of file evaluationmanager.c. Referenced by free_lcmaps_db_entry(), and getPluginNameAndArgs(). |