mirror of
https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git
synced 2026-10-24 00:48:53 +03:00
Commit ea84f882d5 ("licensing: relicense C++ library code under
LGPL-3.0-or-later") changed the license of C++ bindings in order to
solve potential issues with code generated from templates[1], default
implementations, etc. However this change makes the bindings less
attractive to projects that have strict licensing restrictions and avoid
GPL-3.0 code[2].
After talking to Grant Likely I decided that the best approach is to
make the bindings available under LGPL-v2.1-or-later and simply let the
end user decide which version's text to apply.
While at it: tweak the README to also mention that examples are provided
under GPL-2.0-or-later.
Link: [1] https://www.spinics.net/lists/linux-gpio/msg46605.html
Link: [2] https://github.com/brgl/libgpiod/issues/72
Suggested-by: Walter Lozano <walter.lozano@collabora.com>
Suggested-by: Grant Likely <grant.likely@linaro.org>
Acked-by: Kent Gibson <warthog618@gmail.com>
Acked-by: Kevin Hilman <khilman@baylibre.com>
Acked-by: Grant Likely <grant.likely@linaro.org>
Link: https://lore.kernel.org/r/20240416212141.6683-2-brgl@bgdev.pl
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
38 lines
875 B
C++
38 lines
875 B
C++
// SPDX-License-Identifier: LGPL-2.1-or-later
|
|
// SPDX-FileCopyrightText: 2021-2022 Bartosz Golaszewski <brgl@bgdev.pl>
|
|
|
|
#include "helpers.hpp"
|
|
|
|
system_error_matcher::system_error_matcher(int expected_errno)
|
|
: _m_cond(::std::system_category().default_error_condition(expected_errno))
|
|
{
|
|
|
|
}
|
|
|
|
::std::string system_error_matcher::describe() const
|
|
{
|
|
return "matches: errno " + ::std::to_string(this->_m_cond.value());
|
|
}
|
|
|
|
bool system_error_matcher::match(const ::std::system_error& error) const
|
|
{
|
|
return error.code().value() == this->_m_cond.value();
|
|
}
|
|
|
|
regex_matcher::regex_matcher(const ::std::string& pattern)
|
|
: _m_pattern(pattern),
|
|
_m_repr("matches: regex \"" + pattern + "\"")
|
|
{
|
|
|
|
}
|
|
|
|
::std::string regex_matcher::describe() const
|
|
{
|
|
return this->_m_repr;
|
|
}
|
|
|
|
bool regex_matcher::match(const ::std::string& str) const
|
|
{
|
|
return ::std::regex_match(str, this->_m_pattern);
|
|
}
|