• 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/server_utility/server_utility.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/server_utility/server_utility.proto)
5

6
#include <iomanip>
7

8
#include "server_utility_impl.h"
9
#include "plugins/server_utility/server_utility.h"
10

11
namespace mavsdk {
12

13
ServerUtility::ServerUtility(System& system) :
×
14
    PluginBase(),
15
    _impl{std::make_unique<ServerUtilityImpl>(system)}
×
16
{}
×
17

18
ServerUtility::ServerUtility(std::shared_ptr<System> system) :
×
19
    PluginBase(),
20
    _impl{std::make_unique<ServerUtilityImpl>(system)}
×
21
{}
×
22

23
ServerUtility::~ServerUtility() {}
×
24

25
ServerUtility::Result ServerUtility::send_status_text(StatusTextType type, std::string text) const
×
26
{
27
    return _impl->send_status_text(type, text);
×
28
}
29

NEW
30
MAVSDK_PUBLIC std::ostream& operator<<(std::ostream& str, ServerUtility::Result const& result)
×
31
{
32
    switch (result) {
×
33
        case ServerUtility::Result::Unknown:
×
34
            return str << "Unknown";
×
35
        case ServerUtility::Result::Success:
×
36
            return str << "Success";
×
37
        case ServerUtility::Result::NoSystem:
×
38
            return str << "No System";
×
39
        case ServerUtility::Result::ConnectionError:
×
40
            return str << "Connection Error";
×
41
        case ServerUtility::Result::InvalidArgument:
×
42
            return str << "Invalid Argument";
×
43
        default:
×
44
            return str << "Unknown";
×
45
    }
46
}
47

48
MAVSDK_PUBLIC std::ostream&
NEW
49
operator<<(std::ostream& str, ServerUtility::StatusTextType const& status_text_type)
×
50
{
51
    switch (status_text_type) {
×
52
        case ServerUtility::StatusTextType::Debug:
×
53
            return str << "Debug";
×
54
        case ServerUtility::StatusTextType::Info:
×
55
            return str << "Info";
×
56
        case ServerUtility::StatusTextType::Notice:
×
57
            return str << "Notice";
×
58
        case ServerUtility::StatusTextType::Warning:
×
59
            return str << "Warning";
×
60
        case ServerUtility::StatusTextType::Error:
×
61
            return str << "Error";
×
62
        case ServerUtility::StatusTextType::Critical:
×
63
            return str << "Critical";
×
64
        case ServerUtility::StatusTextType::Alert:
×
65
            return str << "Alert";
×
66
        case ServerUtility::StatusTextType::Emergency:
×
67
            return str << "Emergency";
×
68
        default:
×
69
            return str << "Unknown";
×
70
    }
71
}
72

73
} // 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