// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // -*- Mode: C++ -*- // // Copyright (C) 2013-2020 Red Hat, Inc. /// @file #ifndef __ABG_CONFIG_H__ #define __ABG_CONFIG_H__ #include namespace abigail { /// This type abstracts the configuration information of the library. class config { std::string m_format_minor; std::string m_format_major; unsigned m_xml_element_indent; std::string m_tu_instr_suffix; std::string m_tu_instr_archive_suffix; public: config(); const std::string& get_format_minor_version_number() const; void set_format_minor_version_number(const std::string& v); const std::string& get_format_major_version_number() const; void set_format_major_version_number(const std::string& v); unsigned get_xml_element_indent() const; void set_xml_element_indent(unsigned); const std::string& get_tu_instr_suffix() const; void set_tu_instr_suffix(const std::string&); const std::string& get_tu_instr_archive_suffix() const; void set_tu_instr_archive_suffix(const std::string&); }; extern "C" { /// Return the relevant version numbers of the library. /// /// \param maj the major version number of the library. /// /// \param min the minor version number of the library. /// /// \param rev the revision version number of the library. /// /// \param suf the version suffix of the library. void abigail_get_library_version(std::string& maj, std::string& min, std::string& rev, std::string& suf); } }//end namespace abigail #endif //__ABG_CONFIG_H__