• 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

33.33
/src/mavsdk/plugins/ftp_server/ftp_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 https://github.com/mavlink/MAVSDK-Proto/blob/master/protos/ftp_server/ftp_server.proto)
4

5
#include <iomanip>
6

7
#include "ftp_server_impl.h"
8
#include "plugins/ftp_server/ftp_server.h"
9

10
namespace mavsdk {
11

12
FtpServer::FtpServer(std::shared_ptr<ServerComponent> server_component) :
28✔
13
    ServerPluginBase(),
14
    _impl{std::make_unique<FtpServerImpl>(server_component)}
28✔
15
{}
28✔
16

17
FtpServer::~FtpServer() {}
28✔
18

19
FtpServer::Result FtpServer::set_root_dir(std::string path) const
28✔
20
{
21
    return _impl->set_root_dir(path);
28✔
22
}
23

NEW
24
MAVSDK_PUBLIC std::ostream& operator<<(std::ostream& str, FtpServer::Result const& result)
×
25
{
26
    switch (result) {
×
27
        case FtpServer::Result::Unknown:
×
28
            return str << "Unknown";
×
29
        case FtpServer::Result::Success:
×
30
            return str << "Success";
×
31
        case FtpServer::Result::DoesNotExist:
×
32
            return str << "Does Not Exist";
×
33
        case FtpServer::Result::Busy:
×
34
            return str << "Busy";
×
35
        default:
×
36
            return str << "Unknown";
×
37
    }
38
}
39

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