LCOV - code coverage report
Current view: top level - GCS_MAVLink - MissionItemProtocol_Fence.h (source / functions) Hit Total Coverage
Test: lcov.info Lines: 6 6 100.0 %
Date: 2026-09-09 11:02:08 Functions: 3 3 100.0 %

          Line data    Source code
       1             : #pragma once
       2             : 
       3             : #include "MissionItemProtocol.h"
       4             : 
       5             : #include <AC_Fence/AC_Fence.h>
       6             : 
       7             : class AC_PolyFence_loader;
       8             : 
       9             : class MissionItemProtocol_Fence : public MissionItemProtocol {
      10             : public:
      11        2061 :     MissionItemProtocol_Fence(class AC_Fence &fence) :
      12        2061 :         _fence(fence) {}
      13             : 
      14        4046 :     MAV_MISSION_TYPE mission_type() const override {
      15        4046 :         return MAV_MISSION_TYPE_FENCE;
      16             :     }
      17             : 
      18             :     void truncate(const mavlink_mission_count_t &packet) override;
      19             :     MAV_MISSION_RESULT complete(const GCS_MAVLINK &_link) override;
      20             :     void timeout() override;
      21             : 
      22             :     /*
      23             :       static function to format mission item as mavlink_mission_item_int_t
      24             :     */
      25             :     static bool get_item_as_mission_item(uint16_t seq, mavlink_mission_item_int_t &ret_packet);
      26             : 
      27             :     static MAV_MISSION_RESULT convert_MISSION_ITEM_INT_to_AC_PolyFenceItem(const mavlink_mission_item_int_t &mission_item_int, class AC_PolyFenceItem &ret);
      28             : 
      29             : protected:
      30             : 
      31          81 :     ap_message next_item_ap_message_id() const override {
      32          81 :         return MSG_NEXT_MISSION_REQUEST_FENCE;
      33             :     }
      34             :     bool clear_all_items() override WARN_IF_UNUSED;
      35             : 
      36             : private:
      37             :     class AC_Fence &_fence;
      38             : 
      39             :     uint16_t item_count() const override;
      40             :     uint16_t max_items() const override;
      41             : 
      42             :     MAV_MISSION_RESULT replace_item(const mavlink_mission_item_int_t&) override WARN_IF_UNUSED;
      43             :     MAV_MISSION_RESULT append_item(const mavlink_mission_item_int_t&) override WARN_IF_UNUSED;
      44             : 
      45             :     MAV_MISSION_RESULT get_item(uint16_t seq, mavlink_mission_item_int_t &ret_packet) override WARN_IF_UNUSED;
      46             : 
      47             :     void free_upload_resources() override;
      48             :     MAV_MISSION_RESULT allocate_receive_resources(const uint16_t count) override WARN_IF_UNUSED;
      49             :     MAV_MISSION_RESULT allocate_update_resources() override WARN_IF_UNUSED;
      50             : 
      51             :     class AC_PolyFenceItem *_new_items;
      52             :     uint16_t _new_items_count;
      53             :     uint8_t *_updated_mask;
      54             : };

Generated by: LCOV version 1.14