// // RigStateNative.cs // // Author: // Jae Stutzman // // Copyright (c) 2016 Jae Stutzman // // This library is free software; you can redistribute it and/or modify // it under the terms of the GNU Lesser General Public License as // published by the Free Software Foundation; either version 2.1 of the // License, or (at your option) any later version. // // This library is distributed in the hope that it will be useful, but // WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU // Lesser General Public License for more details. // // You should have received a copy of the GNU Lesser General Public // License along with this library; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA using System; using System.Collections.Generic; using System.Runtime.InteropServices; namespace HamLibSharp { // TODO: Primary interest is to get the vfo_list and mode_list. Everything else untested. internal interface IRigStateNative { HamLibPortNative[] Ptt_dcd_ports { get; } double Vfo_comp { get; } int Itu_region { get; } FrequencyRange[] Rx_range_list { get; } FrequencyRange[] Tx_range_list { get; } IList Tuning_steps { get; } IList Filters { get; } CalibrationTable Str_cal { get; } IList Chan_list { get; } int Max_rit { get; } int Max_xit { get; } int Max_ifshift { get; } RigAnnounce Announces { get; } int[] Preamp { get; } int[] Attenuator { get; } uint Has_get_func { get; } uint Has_set_func { get; } uint Has_get_level { get; } uint Has_set_level { get; } uint Has_get_parm { get; } uint Has_set_parm { get; } Granularity[] Level_gran { get; } Granularity[] Parm_gran { get; } int Hold_decode { get; } int Current_vfo { get; } int Vfo_list { get; } int Comm_state { get; } IntPtr Priv { get; } IntPtr Obj { get; } int Transceive { get; } int Poll_interval { get; } double Current_freq { get; } RigMode Current_mode { get; } int Current_width { get; } int Tx_vfo { get; } RigMode Mode_list { get; } } }