| 
									
										
										
										
											2016-05-24 10:08:35 +00:00
										 |  |  | #ifndef RADIO_HPP__
 | 
					
						
							|  |  |  | #define RADIO_HPP__
 | 
					
						
							| 
									
										
										
										
											2015-03-14 19:13:18 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | #include <QObject>
 | 
					
						
							|  |  |  | #include <QLocale>
 | 
					
						
							| 
									
										
										
										
											2016-05-24 10:08:35 +00:00
										 |  |  | #include <QList>
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #include "udp_export.h"
 | 
					
						
							| 
									
										
										
										
											2015-03-14 19:13:18 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | class QVariant; | 
					
						
							|  |  |  | class QString; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | //
 | 
					
						
							|  |  |  | // Declarations common to radio software.
 | 
					
						
							|  |  |  | //
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | namespace Radio | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |   //
 | 
					
						
							|  |  |  |   // Frequency types
 | 
					
						
							|  |  |  |   //
 | 
					
						
							|  |  |  |   using Frequency = quint64; | 
					
						
							| 
									
										
										
										
											2015-10-21 20:05:02 +00:00
										 |  |  |   using Frequencies = QList<Frequency>; | 
					
						
							| 
									
										
										
										
											2015-03-14 19:13:18 +00:00
										 |  |  |   using FrequencyDelta = qint64; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-05-24 10:08:35 +00:00
										 |  |  |   //
 | 
					
						
							|  |  |  |   // Qt type registration
 | 
					
						
							|  |  |  |   //
 | 
					
						
							|  |  |  |   void UDP_NO_EXPORT register_types (); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-03-14 19:13:18 +00:00
										 |  |  |   //
 | 
					
						
							|  |  |  |   // Frequency type conversion.
 | 
					
						
							|  |  |  |   //
 | 
					
						
							|  |  |  |   //	QVariant argument is convertible to double and is assumed to
 | 
					
						
							|  |  |  |   //	be scaled by (10 ** -scale).
 | 
					
						
							|  |  |  |   //
 | 
					
						
							| 
									
										
										
										
											2017-01-08 23:58:00 +00:00
										 |  |  |   Frequency UDP_EXPORT frequency (QVariant const&, int scale, | 
					
						
							|  |  |  |                                   bool * ok = nullptr, QLocale const& = QLocale ()); | 
					
						
							|  |  |  |   FrequencyDelta UDP_EXPORT frequency_delta (QVariant const&, int scale, | 
					
						
							|  |  |  |                                              bool * ok = nullptr, QLocale const& = QLocale ()); | 
					
						
							| 
									
										
										
										
											2015-03-14 19:13:18 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |   //
 | 
					
						
							|  |  |  |   // Frequency type formatting
 | 
					
						
							|  |  |  |   //
 | 
					
						
							| 
									
										
										
										
											2019-05-30 22:20:09 +01:00
										 |  |  |   QString UDP_EXPORT frequency_MHz_string (Frequency, int precision = 6, QLocale const& = QLocale ()); | 
					
						
							|  |  |  |   QString UDP_EXPORT frequency_MHz_string (FrequencyDelta, int precision = 6, QLocale const& = QLocale ()); | 
					
						
							| 
									
										
										
										
											2016-05-24 10:08:35 +00:00
										 |  |  |   QString UDP_EXPORT pretty_frequency_MHz_string (Frequency, QLocale const& = QLocale ()); | 
					
						
							|  |  |  |   QString UDP_EXPORT pretty_frequency_MHz_string (double, int scale, QLocale const& = QLocale ()); | 
					
						
							|  |  |  |   QString UDP_EXPORT pretty_frequency_MHz_string (FrequencyDelta, QLocale const& = QLocale ()); | 
					
						
							| 
									
										
										
										
											2015-03-14 19:13:18 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |   //
 | 
					
						
							|  |  |  |   // Callsigns
 | 
					
						
							|  |  |  |   //
 | 
					
						
							| 
									
										
										
										
											2016-05-24 10:08:35 +00:00
										 |  |  |   bool UDP_EXPORT is_callsign (QString const&); | 
					
						
							|  |  |  |   bool UDP_EXPORT is_compound_callsign (QString const&); | 
					
						
							| 
									
										
										
										
											2020-11-11 16:22:57 +00:00
										 |  |  |   bool is_77bit_nonstandard_callsign (QString const&); | 
					
						
							| 
									
										
										
										
											2016-05-24 10:08:35 +00:00
										 |  |  |   QString UDP_EXPORT base_callsign (QString); | 
					
						
							| 
									
										
										
										
											2018-04-21 19:09:31 +00:00
										 |  |  |   QString UDP_EXPORT effective_prefix (QString); | 
					
						
							| 
									
										
										
										
											2015-03-14 19:13:18 +00:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Q_DECLARE_METATYPE (Radio::Frequency); | 
					
						
							| 
									
										
										
										
											2015-10-21 20:05:02 +00:00
										 |  |  | Q_DECLARE_METATYPE (Radio::Frequencies); | 
					
						
							| 
									
										
										
										
											2015-03-14 19:13:18 +00:00
										 |  |  | Q_DECLARE_METATYPE (Radio::FrequencyDelta); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #endif
 |