11 #include <unordered_map> 
   17 namespace uhd { 
namespace rfnoc { 
namespace rf_control {
 
   24     using sptr = std::shared_ptr<antenna_iface>;
 
   32     virtual std::vector<std::string> get_antennas(
const size_t chan) 
const = 0;
 
   38     virtual void set_antenna(
const std::string& ant, 
const size_t chan) = 0;
 
   44     virtual std::string get_antenna(
const size_t chan) 
const = 0;
 
   64         const std::vector<std::string>& possible_antennas,
 
   65         const std::unordered_map<std::string, std::string>& compat_map);
 
   69     std::vector<std::string> get_antennas(
const size_t chan) 
const override;
 
   70     void set_antenna(
const std::string& ant, 
const size_t chan) 
override;
 
   71     std::string get_antenna(
const size_t chan) 
const override;
 
   78     std::vector<std::string> _possible_antennas;
 
   79     const std::unordered_map<std::string, std::string>& _compat_map;
 
   90     std::string get_tx_antenna(
const size_t chan) 
const override;
 
   91     std::vector<std::string> get_tx_antennas(
const size_t chan) 
const override;
 
   92     void set_tx_antenna(
const std::string& ant, 
const size_t chan) 
override;
 
   93     std::string get_rx_antenna(
const size_t chan) 
const override;
 
   94     std::vector<std::string> get_rx_antennas(
const size_t chan) 
const override;
 
   95     void set_rx_antenna(
const std::string& ant, 
const size_t chan) 
override;