Annotation of embedaddon/strongswan/src/libimcv/imv/imv_remediation_string.h, revision 1.1.1.1

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

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>