1
0
mirror of https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git synced 2026-10-24 00:48:53 +03:00
Files
libgpiod/bindings/cxx/exception.cpp
Bartosz Golaszewski 76ecc337c5 licensing: relicense C++ bindings under LGPL-2.1-or-later
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>
2024-04-22 14:04:19 +02:00

120 lines
2.2 KiB
C++

// SPDX-License-Identifier: LGPL-2.1-or-later
// SPDX-FileCopyrightText: 2021-2022 Bartosz Golaszewski <brgl@bgdev.pl>
#include "internal.hpp"
namespace gpiod {
GPIOD_CXX_API chip_closed::chip_closed(const ::std::string& what)
: ::std::logic_error(what)
{
}
GPIOD_CXX_API chip_closed::chip_closed(const chip_closed& other) noexcept
: ::std::logic_error(other)
{
}
GPIOD_CXX_API chip_closed::chip_closed(chip_closed&& other) noexcept
: ::std::logic_error(other)
{
}
GPIOD_CXX_API chip_closed& chip_closed::operator=(const chip_closed& other) noexcept
{
::std::logic_error::operator=(other);
return *this;
}
GPIOD_CXX_API chip_closed& chip_closed::operator=(chip_closed&& other) noexcept
{
::std::logic_error::operator=(other);
return *this;
}
GPIOD_CXX_API chip_closed::~chip_closed()
{
}
GPIOD_CXX_API request_released::request_released(const ::std::string& what)
: ::std::logic_error(what)
{
}
GPIOD_CXX_API request_released::request_released(const request_released& other) noexcept
: ::std::logic_error(other)
{
}
GPIOD_CXX_API request_released::request_released(request_released&& other) noexcept
: ::std::logic_error(other)
{
}
GPIOD_CXX_API request_released& request_released::operator=(const request_released& other) noexcept
{
::std::logic_error::operator=(other);
return *this;
}
GPIOD_CXX_API request_released& request_released::operator=(request_released&& other) noexcept
{
::std::logic_error::operator=(other);
return *this;
}
GPIOD_CXX_API request_released::~request_released()
{
}
GPIOD_CXX_API bad_mapping::bad_mapping(const ::std::string& what)
: ::std::runtime_error(what)
{
}
GPIOD_CXX_API bad_mapping::bad_mapping(const bad_mapping& other) noexcept
: ::std::runtime_error(other)
{
}
GPIOD_CXX_API bad_mapping::bad_mapping(bad_mapping&& other) noexcept
: ::std::runtime_error(other)
{
}
GPIOD_CXX_API bad_mapping& bad_mapping::operator=(const bad_mapping& other) noexcept
{
::std::runtime_error::operator=(other);
return *this;
}
GPIOD_CXX_API bad_mapping& bad_mapping::operator=(bad_mapping&& other) noexcept
{
::std::runtime_error::operator=(other);
return *this;
}
GPIOD_CXX_API bad_mapping::~bad_mapping()
{
}
} /* namespace gpiod */