text: ///////////////////////////////////////
  // AUTO GENERATED FILE - DO NOT EDIT //
  ///////////////////////////////////////
  
  /* SPDX-License-Identifier: BSD-2-Clause-Patent
   *
   * SPDX-FileCopyrightText: 2016-2020 the prplMesh contributors (see AUTHORS.md)
   *
   * This code is subject to the terms of the BSD+Patent license.
   * See LICENSE file for more details.
   */
  
  #ifndef _TLVF_WFA_MAP_TLVBEACONMETRICSRESPONSE_H_
  #define _TLVF_WFA_MAP_TLVBEACONMETRICSRESPONSE_H_
  
  #include <cstddef>
  #include <stdint.h>
  #include <tlvf/swap.h>
  #include <string.h>
  #include <memory>
  #include <tlvf/BaseClass.h>
  #include <tlvf/ClassList.h>
  #include "tlvf/wfa_map/eTlvTypeMap.h"
  #include "tlvf/common/sMacAddr.h"
  #include <tuple>
  
  namespace wfa_map {
  
  
  class tlvBeaconMetricsResponse : public BaseClass
  {
      public:
          tlvBeaconMetricsResponse(uint8_t* buff, size_t buff_len, bool parse = false);
          explicit tlvBeaconMetricsResponse(std::shared_ptr<BaseClass> base, bool parse = false);
          ~tlvBeaconMetricsResponse();
  
          const eTlvTypeMap& type();
          const uint16_t& length();
          sMacAddr& associated_sta_mac();
          uint8_t& reserved();
          uint8_t& measurement_report_list_length();
          //Contains a Measurement Report element that was received from the STA
          //since the corresponding Beacon Metrics Query message was received by the Multi-AP Agent
          uint8_t* measurement_report_list(size_t idx = 0);
          bool set_measurement_report_list(const void* buffer, size_t size);
          bool alloc_measurement_report_list(size_t count = 1);
          void class_swap() override;
          bool finalize() override;
          static size_t get_initial_size();
  
      private:
          bool init();
          eTlvTypeMap* m_type = nullptr;
          uint16_t* m_length = nullptr;
          sMacAddr* m_associated_sta_mac = nullptr;
          uint8_t* m_reserved = nullptr;
          uint8_t* m_measurement_report_list_length = nullptr;
          uint8_t* m_measurement_report_list = nullptr;
          size_t m_measurement_report_list_idx__ = 0;
          int m_lock_order_counter__ = 0;
  };
  
  }; // close namespace: wfa_map
  
  #endif //_TLVF/WFA_MAP_TLVBEACONMETRICSRESPONSE_H_
  