oval_results.h
Go to the documentation of this file.
/*
* Copyright 2009-2013 Red Hat Inc., Durham, North Carolina.
* All Rights Reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
* Authors:
* "David Niemoller" <David.Niemoller@g2-inc.com>
* Šimon Lukašík
*/
#ifndef OVAL_RESULTS_H_
#define OVAL_RESULTS_H_
#include "oval_types.h"
#include "oval_system_characteristics.h"
#include "oval_directives.h"
#include <stdbool.h>
const char *oval_result_get_text(oval_result_t);
struct oval_results_model;
struct oval_result_system;
struct oval_result_system_iterator;
struct oval_result_definition;
struct oval_result_definition_iterator;
struct oval_result_test;
struct oval_result_test_iterator;
struct oval_result_item;
struct oval_result_item_iterator;
struct oval_result_criteria_node;
struct oval_result_criteria_node_iterator;
struct oval_results_model *oval_results_model_new(struct oval_definition_model *definition_model,
struct oval_syschar_model **);
int oval_results_model_import(struct oval_results_model *model, const char *file);
struct oval_results_model *oval_results_model_clone(struct oval_results_model *);
void oval_results_model_free(struct oval_results_model *model);
int oval_results_model_export(struct oval_results_model *, struct oval_directives_model *, const char *file);
void oval_results_model_set_generator(struct oval_results_model *model, struct oval_generator *generator);
struct oval_generator *oval_results_model_get_generator(struct oval_results_model *model);
struct oval_definition_model *oval_results_model_get_definition_model(struct oval_results_model *model);
struct oval_result_system_iterator *oval_results_model_get_systems(struct oval_results_model *);
int oval_results_model_eval(struct oval_results_model *);
struct oval_result_system *oval_result_system_new(struct oval_results_model *, struct oval_syschar_model *);
struct oval_result_system *oval_result_system_clone(struct oval_results_model *new_model,
struct oval_result_system *old_system);
void oval_result_system_free(struct oval_result_system *);
void oval_result_system_add_definition(struct oval_result_system *, struct oval_result_definition *);
void oval_result_system_add_test(struct oval_result_system *, struct oval_result_test *);
struct oval_results_model *oval_result_system_get_results_model(struct oval_result_system *);
struct oval_result_definition *oval_result_system_get_definition(struct oval_result_system *, const char *);
struct oval_result_definition_iterator *oval_result_system_get_definitions(struct oval_result_system *);
struct oval_result_test_iterator *oval_result_system_get_tests(struct oval_result_system *);
struct oval_syschar_model *oval_result_system_get_syschar_model(struct oval_result_system *);
struct oval_sysinfo *oval_result_system_get_sysinfo(struct oval_result_system *);
bool oval_result_system_iterator_has_more(struct oval_result_system_iterator *);
struct oval_result_system *oval_result_system_iterator_next(struct oval_result_system_iterator *);
void oval_result_system_iterator_free(struct oval_result_system_iterator *);
int oval_result_system_eval(struct oval_result_system *sys);
int oval_result_system_eval_definition(struct oval_result_system *sys, const char *id);
struct oval_result_definition *oval_result_definition_new(struct oval_result_system *, char *);
struct oval_result_definition *oval_result_definition_clone
(struct oval_result_system *new_system, struct oval_result_definition *old_definition);
void oval_result_definition_free(struct oval_result_definition *);
void oval_result_definition_set_result(struct oval_result_definition *, oval_result_t);
void oval_result_definition_set_instance(struct oval_result_definition *, int);
void oval_result_definition_set_criteria(struct oval_result_definition *, struct oval_result_criteria_node *);
void oval_result_definition_add_message(struct oval_result_definition *, struct oval_message *);
struct oval_definition *oval_result_definition_get_definition(const struct oval_result_definition *);
const char *oval_result_definition_get_id(const struct oval_result_definition *rslt_definition);
struct oval_result_system *oval_result_definition_get_system(const struct oval_result_definition *);
int oval_result_definition_get_instance(const struct oval_result_definition *);
oval_result_t oval_result_definition_eval(struct oval_result_definition *);
oval_result_t oval_result_definition_get_result(const struct oval_result_definition *);
struct oval_message_iterator *oval_result_definition_get_messages(const struct oval_result_definition *);
struct oval_result_criteria_node *oval_result_definition_get_criteria(const struct oval_result_definition *);
bool oval_result_definition_iterator_has_more(struct oval_result_definition_iterator *);
struct oval_result_definition *oval_result_definition_iterator_next(struct oval_result_definition_iterator *);
void oval_result_definition_iterator_free(struct oval_result_definition_iterator *);
struct oval_result_test *oval_result_test_new(struct oval_result_system *, char *);
struct oval_result_test *oval_result_test_clone
(struct oval_result_system *new_system, struct oval_result_test *old_test);
void oval_result_test_free(struct oval_result_test *);
void oval_result_test_set_result(struct oval_result_test *, oval_result_t);
void oval_result_test_set_instance(struct oval_result_test *test, int instance);
void oval_result_test_add_message(struct oval_result_test *, struct oval_message *);
void oval_result_test_add_item(struct oval_result_test *, struct oval_result_item *);
void oval_result_test_add_binding(struct oval_result_test *, struct oval_variable_binding *);
struct oval_test *oval_result_test_get_test(struct oval_result_test *);
struct oval_result_system *oval_result_test_get_system(struct oval_result_test *);
oval_result_t oval_result_test_eval(struct oval_result_test *);
oval_result_t oval_result_test_get_result(struct oval_result_test *);
int oval_result_test_get_instance(struct oval_result_test *);
struct oval_message_iterator *oval_result_test_get_messages(struct oval_result_test *);
struct oval_result_item_iterator *oval_result_test_get_items(struct oval_result_test *);
struct oval_variable_binding_iterator *oval_result_test_get_bindings(struct oval_result_test *);
bool oval_result_test_iterator_has_more(struct oval_result_test_iterator *);
struct oval_result_test *oval_result_test_iterator_next(struct oval_result_test_iterator *);
void oval_result_test_iterator_free(struct oval_result_test_iterator *);
struct oval_result_item *oval_result_item_new(struct oval_result_system *, char *);
struct oval_result_item *oval_result_item_clone
(struct oval_result_system *new_system, struct oval_result_item *old_item);
void oval_result_item_free(struct oval_result_item *);
void oval_result_item_set_result(struct oval_result_item *, oval_result_t);
void oval_result_item_add_message(struct oval_result_item *, struct oval_message *);
struct oval_sysitem *oval_result_item_get_sysitem(struct oval_result_item *);
oval_result_t oval_result_item_get_result(struct oval_result_item *);
struct oval_message_iterator *oval_result_item_get_messages(struct oval_result_item *);
bool oval_result_item_iterator_has_more(struct oval_result_item_iterator *);
struct oval_result_item *oval_result_item_iterator_next(struct oval_result_item_iterator *);
void oval_result_item_iterator_free(struct oval_result_item_iterator *);
struct oval_result_criteria_node *oval_result_criteria_node_new(struct oval_result_system *,
oval_criteria_node_type_t,
int, int, ...);
struct oval_result_criteria_node *oval_result_criteria_node_clone
(struct oval_result_system *new_system, struct oval_result_criteria_node *old_node);
void oval_result_criteria_node_free(struct oval_result_criteria_node *);
void oval_result_criteria_node_set_result(struct oval_result_criteria_node *, oval_result_t);
void oval_result_criteria_node_set_negate(struct oval_result_criteria_node *, bool);
void oval_result_criteria_node_set_applicability_check(struct oval_result_criteria_node *, bool);
void oval_result_criteria_node_set_operator(struct oval_result_criteria_node *, oval_operator_t); //type==NODETYPE_CRITERIA
void oval_result_criteria_node_add_subnode(struct oval_result_criteria_node *, struct oval_result_criteria_node *); //type==NODETYPE_CRITERIA
void oval_result_criteria_node_set_test(struct oval_result_criteria_node *, struct oval_result_test *); //type==NODETYPE_CRITERION
void oval_result_criteria_node_set_extends(struct oval_result_criteria_node *, struct oval_result_definition *); //type==NODETYPE_EXTENDDEF
oval_criteria_node_type_t oval_result_criteria_node_get_type(struct oval_result_criteria_node *);
oval_result_t oval_result_criteria_node_eval(struct oval_result_criteria_node *);
oval_result_t oval_result_criteria_node_get_result(struct oval_result_criteria_node *);
bool oval_result_criteria_node_get_negate(struct oval_result_criteria_node *);
bool oval_result_criteria_node_get_applicability_check(struct oval_result_criteria_node *);
oval_operator_t oval_result_criteria_node_get_operator(struct oval_result_criteria_node *); //type==NODETYPE_CRITERIA
struct oval_result_criteria_node_iterator *oval_result_criteria_node_get_subnodes(struct oval_result_criteria_node *); //type==NODETYPE_CRITERIA
struct oval_result_test *oval_result_criteria_node_get_test(struct oval_result_criteria_node *); //type==NODETYPE_CRITERION
struct oval_result_definition *oval_result_criteria_node_get_extends(struct oval_result_criteria_node *); //type==NODETYPE_EXTENDDEF
bool oval_result_criteria_node_iterator_has_more(struct oval_result_criteria_node_iterator *);
struct oval_result_criteria_node *oval_result_criteria_node_iterator_next(struct oval_result_criteria_node_iterator *);
void oval_result_criteria_node_iterator_free(struct oval_result_criteria_node_iterator *);
#endif /* OVAL_RESULTS_H_ */