• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

mavlink / MAVSDK / 24114167644

08 Apr 2026 02:17AM UTC coverage: 50.468% (+0.003%) from 50.465%
24114167644

push

github

web-flow
core: hide symbols by default, export only public API (#2855)

* core: hide symbols by default, export only public API

Backport of #2824 to v3. Fixes segfault when MAVSDK is used alongside
ROS2 (or any library sharing bundled dependencies like OpenSSL/tinyxml2)
due to symbol conflicts from leaked third-party symbols.

- Add mavsdk_export.h with MAVSDK_PUBLIC, MAVSDK_TEST_EXPORT, and
  MAVSDK_TEMPL_INST macros
- Set CXX_VISIBILITY_PRESET=hidden and VISIBILITY_INLINES_HIDDEN=ON
- MAVSDK_SHARED compile definition gates dllexport/dllimport so that
  static builds on Windows are unaffected
- Annotate all public classes, free functions, operator overloads,
  and explicit template instantiations
- Update jinja2 templates to emit MAVSDK_PUBLIC on generated
  operator== and operator<< definitions
- Disable MSVC C4251 warning for DLL interface on STL members

Fixes #2852

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* fix: remove stale asio includes from mission transfer client header

The backport patch incorrectly added asio includes that don't exist on
v3 (they were added on main after v3 branched).

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

15 of 379 new or added lines in 39 files covered. (3.96%)

4 existing lines in 3 files now uncovered.

19248 of 38139 relevant lines covered (50.47%)

672.95 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/src/mavsdk/plugins/arm_authorizer_server/arm_authorizer_server.cpp
1
// WARNING: THIS FILE IS AUTOGENERATED! As such, it should not be edited.
2
// Edits need to be made to the proto files
3
// (see
4
// https://github.com/mavlink/MAVSDK-Proto/blob/master/protos/arm_authorizer_server/arm_authorizer_server.proto)
5

6
#include <iomanip>
7

8
#include "arm_authorizer_server_impl.h"
9
#include "plugins/arm_authorizer_server/arm_authorizer_server.h"
10

11
namespace mavsdk {
12

13
ArmAuthorizerServer::ArmAuthorizerServer(std::shared_ptr<ServerComponent> server_component) :
×
14
    ServerPluginBase(),
15
    _impl{std::make_unique<ArmAuthorizerServerImpl>(server_component)}
×
16
{}
×
17

18
ArmAuthorizerServer::~ArmAuthorizerServer() {}
×
19

20
ArmAuthorizerServer::ArmAuthorizationHandle
21
ArmAuthorizerServer::subscribe_arm_authorization(const ArmAuthorizationCallback& callback)
×
22
{
23
    return _impl->subscribe_arm_authorization(callback);
×
24
}
25

26
void ArmAuthorizerServer::unsubscribe_arm_authorization(ArmAuthorizationHandle handle)
×
27
{
28
    _impl->unsubscribe_arm_authorization(handle);
×
29
}
×
30

31
ArmAuthorizerServer::Result
32
ArmAuthorizerServer::accept_arm_authorization(int32_t valid_time_s) const
×
33
{
34
    return _impl->accept_arm_authorization(valid_time_s);
×
35
}
36

37
ArmAuthorizerServer::Result ArmAuthorizerServer::reject_arm_authorization(
×
38
    bool temporarily, RejectionReason reason, int32_t extra_info) const
39
{
40
    return _impl->reject_arm_authorization(temporarily, reason, extra_info);
×
41
}
42

NEW
43
MAVSDK_PUBLIC std::ostream& operator<<(std::ostream& str, ArmAuthorizerServer::Result const& result)
×
44
{
45
    switch (result) {
×
46
        case ArmAuthorizerServer::Result::Unknown:
×
47
            return str << "Unknown";
×
48
        case ArmAuthorizerServer::Result::Success:
×
49
            return str << "Success";
×
50
        case ArmAuthorizerServer::Result::Failed:
×
51
            return str << "Failed";
×
52
        default:
×
53
            return str << "Unknown";
×
54
    }
55
}
56

57
MAVSDK_PUBLIC std::ostream&
58
operator<<(std::ostream& str, ArmAuthorizerServer::RejectionReason const& rejection_reason)
×
59
{
60
    switch (rejection_reason) {
×
61
        case ArmAuthorizerServer::RejectionReason::Generic:
×
62
            return str << "Generic";
×
63
        case ArmAuthorizerServer::RejectionReason::None:
×
64
            return str << "None";
×
65
        case ArmAuthorizerServer::RejectionReason::InvalidWaypoint:
×
66
            return str << "Invalid Waypoint";
×
67
        case ArmAuthorizerServer::RejectionReason::Timeout:
×
68
            return str << "Timeout";
×
69
        case ArmAuthorizerServer::RejectionReason::AirspaceInUse:
×
70
            return str << "Airspace In Use";
×
71
        case ArmAuthorizerServer::RejectionReason::BadWeather:
×
72
            return str << "Bad Weather";
×
73
        default:
×
74
            return str << "Unknown";
×
75
    }
76
}
77

78
} // namespace mavsdk
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc