1 // ---------------------------------------------------------------------------- 2 // Copyright (C) 2014 3 // David Freese, W1HKJ 4 // 5 // This file is part of flrig. 6 // 7 // flrig is free software; you can redistribute it and/or modify 8 // it under the terms of the GNU General Public License as published by 9 // the Free Software Foundation; either version 3 of the License, or 10 // (at your option) any later version. 11 // 12 // flrig is distributed in the hope that it will be useful, 13 // but WITHOUT ANY WARRANTY; without even the implied warranty of 14 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 // GNU General Public License for more details. 16 // 17 // You should have received a copy of the GNU General Public License 18 // along with this program. If not, see <http://www.gnu.org/licenses/>. 19 // ---------------------------------------------------------------------------- 20 21 #ifndef _Rig_H 22 #define _Rig_H 23 24 #include <string> 25 #include <sys/types.h> 26 27 #include <FL/Fl.H> 28 #include <FL/Fl_Double_Window.H> 29 #include <FL/Enumerations.H> 30 31 #ifndef WIN32 32 #include <unistd.h> 33 #include <pwd.h> 34 #endif 35 36 #include <FL/fl_ask.H> 37 #include <FL/Fl_File_Chooser.H> 38 #include <FL/Fl_Color_Chooser.H> 39 #include <FL/fl_draw.H> 40 41 #include "config.h" 42 43 #include "threads.h" 44 45 #include "FreqControl.h" 46 #include "rigpanel.h" 47 #include "rig_io.h" 48 #include "serial.h" 49 #include "support.h" 50 //#include "xml_io.h" 51 52 extern Fl_Double_Window *mainwindow; 53 extern Fl_Double_Window *tabs_dialog; 54 extern string HomeDir; 55 extern string RigHomeDir; 56 extern string TempDir; 57 extern string rigfile; 58 extern string pttfile; 59 60 extern int xmlport; 61 62 extern string defFileName; 63 extern string title; 64 65 extern pthread_t *serial_thread; 66 extern pthread_t *digi_thread; 67 extern pthread_mutex_t mutex_serial; 68 extern pthread_mutex_t mutex_xmlrpc; 69 extern pthread_mutex_t mutex_vfoque; 70 extern pthread_mutex_t mutex_ptt; 71 extern pthread_mutex_t mutex_replystr; 72 extern pthread_mutex_t mutex_srvc_reqs; 73 extern pthread_mutex_t mutex_trace; 74 75 extern bool EXPAND_CONTROLS; 76 77 extern void cb_xml_help(Fl_Menu_*, void*); 78 79 enum UISIZE {small_ui, wide_ui, touch_ui}; 80 81 #endif 82