2013-05-07 10:42:53 +00:00
|
|
|
// -*- Mode: C++ -*-
|
2013-07-16 19:58:43 +00:00
|
|
|
//
|
2015-01-07 12:53:58 +00:00
|
|
|
// Copyright (C) 2013-2015 Red Hat, Inc.
|
2013-07-17 21:39:24 +00:00
|
|
|
//
|
|
|
|
// This file is part of the GNU Application Binary Interface Generic
|
|
|
|
// Analysis and Instrumentation Library (libabigail). This library is
|
|
|
|
// free software; you can redistribute it and/or modify it under the
|
2013-07-16 19:58:43 +00:00
|
|
|
// terms of the GNU Lesser General Public License as published by the
|
|
|
|
// Free Software Foundation; either version 3, or (at your option) any
|
2013-07-17 21:39:24 +00:00
|
|
|
// 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
|
2013-07-16 19:58:43 +00:00
|
|
|
// General Lesser Public License for more details.
|
2013-07-17 21:39:24 +00:00
|
|
|
|
2013-07-16 19:58:43 +00:00
|
|
|
// You should have received a copy of the GNU Lesser General Public
|
|
|
|
// License along with this program; see the file COPYING-LGPLV3. If
|
|
|
|
// not, see <http://www.gnu.org/licenses/>.
|
2013-07-17 21:39:24 +00:00
|
|
|
|
2013-04-03 06:23:33 +00:00
|
|
|
/// @file
|
|
|
|
|
2013-03-21 13:43:30 +00:00
|
|
|
#ifndef __ABG_CONFIG_H__
|
|
|
|
#define __ABG_CONFIG_H__
|
|
|
|
|
2013-05-23 15:47:04 +00:00
|
|
|
#include <string>
|
|
|
|
|
2013-03-21 13:43:30 +00:00
|
|
|
namespace abigail
|
|
|
|
{
|
|
|
|
|
|
|
|
/// This type abstracts the configuration information of the library.
|
|
|
|
class config
|
|
|
|
{
|
2013-08-02 03:16:22 +00:00
|
|
|
unsigned char m_format_minor;
|
|
|
|
unsigned char m_format_major;
|
|
|
|
unsigned m_xml_element_indent;
|
|
|
|
std::string m_tu_instr_suffix;
|
|
|
|
std::string m_tu_instr_archive_suffix;
|
|
|
|
|
2013-03-21 13:43:30 +00:00
|
|
|
public:
|
|
|
|
config();
|
|
|
|
|
|
|
|
unsigned char
|
|
|
|
get_format_minor_version_number() const;
|
|
|
|
|
|
|
|
void
|
|
|
|
set_format_minor_version_number(unsigned char);
|
|
|
|
|
|
|
|
unsigned char
|
|
|
|
get_format_major_version_number() const;
|
|
|
|
|
|
|
|
void
|
|
|
|
set_format_major_version_number(unsigned char);
|
|
|
|
|
|
|
|
unsigned
|
|
|
|
get_xml_element_indent() const;
|
|
|
|
|
|
|
|
void
|
|
|
|
set_xml_element_indent(unsigned);
|
|
|
|
|
2013-05-23 15:47:04 +00:00
|
|
|
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&);
|
2013-08-02 03:16:22 +00:00
|
|
|
};
|
2013-03-21 13:43:30 +00:00
|
|
|
|
2013-05-07 10:42:53 +00:00
|
|
|
extern "C"
|
|
|
|
{
|
2013-08-02 23:30:56 +00:00
|
|
|
/// 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.
|
2013-05-07 10:42:53 +00:00
|
|
|
void
|
2013-08-02 23:30:56 +00:00
|
|
|
abigail_get_library_version(int& maj, int& min, int& rev);
|
2013-05-07 10:42:53 +00:00
|
|
|
}
|
2013-08-02 03:16:22 +00:00
|
|
|
|
|
|
|
}//end namespace abigail
|
|
|
|
|
2013-03-21 13:43:30 +00:00
|
|
|
#endif //__ABG_CONFIG_H__
|