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

mavlink / MAVSDK / 16412450345

21 Jul 2025 08:44AM UTC coverage: 46.352% (+1.3%) from 45.093%
16412450345

Pull #2610

github

web-flow
Merge 459971f25 into ae05b10ff
Pull Request #2610: Integrate parts of libmav into MAVSDK and add MavlinkDirect plugin

765 of 987 new or added lines in 14 files covered. (77.51%)

10 existing lines in 1 file now uncovered.

16263 of 35086 relevant lines covered (46.35%)

359.85 hits per line

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

25.49
/src/mavsdk/plugins/mavlink_direct/mavlink_direct.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/mavlink_direct/mavlink_direct.proto)
5

6
#include <iomanip>
7

8
#include "mavlink_direct_impl.h"
9
#include "plugins/mavlink_direct/mavlink_direct.h"
10

11
namespace mavsdk {
12

13
using MavlinkMessage = MavlinkDirect::MavlinkMessage;
14

NEW
15
MavlinkDirect::MavlinkDirect(System& system) :
×
16
    PluginBase(),
NEW
17
    _impl{std::make_unique<MavlinkDirectImpl>(system)}
×
NEW
18
{}
×
19

20
MavlinkDirect::MavlinkDirect(std::shared_ptr<System> system) :
12✔
21
    PluginBase(),
22
    _impl{std::make_unique<MavlinkDirectImpl>(system)}
12✔
23
{}
12✔
24

25
MavlinkDirect::~MavlinkDirect() {}
12✔
26

27
MavlinkDirect::Result MavlinkDirect::send_message(MavlinkMessage message) const
8✔
28
{
29
    return _impl->send_message(message);
8✔
30
}
31

32
MavlinkDirect::MessageHandle
33
MavlinkDirect::subscribe_message(std::string message_name, const MessageCallback& callback)
6✔
34
{
35
    return _impl->subscribe_message(message_name, callback);
6✔
36
}
37

38
void MavlinkDirect::unsubscribe_message(MessageHandle handle)
6✔
39
{
40
    _impl->unsubscribe_message(handle);
6✔
41
}
6✔
42

43
MavlinkDirect::Result MavlinkDirect::load_custom_xml(std::string xml_content) const
2✔
44
{
45
    return _impl->load_custom_xml(xml_content);
2✔
46
}
47

NEW
48
bool operator==(const MavlinkDirect::MavlinkMessage& lhs, const MavlinkDirect::MavlinkMessage& rhs)
×
49
{
NEW
50
    return (rhs.message_name == lhs.message_name) && (rhs.system_id == lhs.system_id) &&
×
NEW
51
           (rhs.component_id == lhs.component_id) && (rhs.target_system == lhs.target_system) &&
×
NEW
52
           (rhs.target_component == lhs.target_component) && (rhs.fields_json == lhs.fields_json);
×
53
}
54

NEW
55
std::ostream& operator<<(std::ostream& str, MavlinkDirect::MavlinkMessage const& mavlink_message)
×
56
{
NEW
57
    str << std::setprecision(15);
×
NEW
58
    str << "mavlink_message:" << '\n' << "{\n";
×
NEW
59
    str << "    message_name: " << mavlink_message.message_name << '\n';
×
NEW
60
    str << "    system_id: " << mavlink_message.system_id << '\n';
×
NEW
61
    str << "    component_id: " << mavlink_message.component_id << '\n';
×
NEW
62
    str << "    target_system: " << mavlink_message.target_system << '\n';
×
NEW
63
    str << "    target_component: " << mavlink_message.target_component << '\n';
×
NEW
64
    str << "    fields_json: " << mavlink_message.fields_json << '\n';
×
NEW
65
    str << '}';
×
NEW
66
    return str;
×
67
}
68

NEW
69
std::ostream& operator<<(std::ostream& str, MavlinkDirect::Result const& result)
×
70
{
NEW
71
    switch (result) {
×
NEW
72
        case MavlinkDirect::Result::Unknown:
×
NEW
73
            return str << "Unknown";
×
NEW
74
        case MavlinkDirect::Result::Success:
×
NEW
75
            return str << "Success";
×
NEW
76
        case MavlinkDirect::Result::Error:
×
NEW
77
            return str << "Error";
×
NEW
78
        case MavlinkDirect::Result::InvalidMessage:
×
NEW
79
            return str << "Invalid Message";
×
NEW
80
        case MavlinkDirect::Result::InvalidField:
×
NEW
81
            return str << "Invalid Field";
×
NEW
82
        case MavlinkDirect::Result::ConnectionError:
×
NEW
83
            return str << "Connection Error";
×
NEW
84
        case MavlinkDirect::Result::NoSystem:
×
NEW
85
            return str << "No System";
×
NEW
86
        case MavlinkDirect::Result::Timeout:
×
NEW
87
            return str << "Timeout";
×
NEW
88
        default:
×
NEW
89
            return str << "Unknown";
×
90
    }
91
}
92

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