]> git.ipfire.org Git - thirdparty/strongswan.git/blame - src/libimcv/imv/imv_remediation_string.h
Update copyright headers after acquisition by secunet
[thirdparty/strongswan.git] / src / libimcv / imv / imv_remediation_string.h
CommitLineData
ee6aeca8
AS
1/*
2 * Copyright (C) 2012 Andreas Steffen
19ef2aec
TB
3 *
4 * Copyright (C) secunet Security Networks AG
ee6aeca8
AS
5 *
6 * This program is free software; you can redistribute it and/or modify it
7 * under the terms of the GNU General Public License as published by the
8 * Free Software Foundation; either version 2 of the License, or (at your
9 * option) any later version. See <http://www.fsf.org/copyleft/gpl.txt>.
10 *
11 * This program is distributed in the hope that it will be useful, but
12 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
13 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 * for more details.
15 */
16
17/**
18 *
19 * @defgroup imv_remediation_string_t imv_remediation_string
11adf114 20 * @{ @ingroup libimcv_imv
ee6aeca8
AS
21 */
22
23#ifndef IMV_REMEDIATION_STRING_H_
24#define IMV_REMEDIATION_STRING_H_
25
26#include "imv_lang_string.h"
27
28#include <library.h>
29#include <collections/linked_list.h>
30
31typedef struct imv_remediation_string_t imv_remediation_string_t;
32
33/**
34 * Defines and builds an IETF Remediation Instructions String
35 */
36struct imv_remediation_string_t {
37
38 /**
39 * Add an individual remediation instruction to the string
40 *
41 * @param title instruction title
42 * @param description instruction description
43 * @param itemsheader optional items header or NULL
44 * @param items optional items list or NULL
45 */
46 void (*add_instruction)(imv_remediation_string_t *this,
47 imv_lang_string_t title[],
48 imv_lang_string_t description[],
49 imv_lang_string_t itemsheader[],
50 linked_list_t *items);
51
52 /**
53 * Gets the plaintext or XML encoding of the remediation instructions
54 *
55 * @return remediation instructions string
56 */
57 chunk_t (*get_encoding)(imv_remediation_string_t *this);
58
59 /**
60 * Destroys an imv_remediation_string_t object
61 */
62 void (*destroy)(imv_remediation_string_t *this);
63};
64
65/**
66 * Creates an IETF Remediation Instructions String object
67 *
68 * @param as_xml XML encoding if TRUE, plaintext otherwise
69 * @param lang Preferred language
70 */
71 imv_remediation_string_t* imv_remediation_string_create(bool as_xml, char *lang);
72
73#endif /** IMV_REMEDIATION_STRING_H_ @}*/