SDRAngel  4.11.5
Developer docs for <a href="https://github.com/f4exb/sdrangel">SDRangel<\a>, an Open Source Qt5 / OpenGL 3.0+ SDR and signal analyzer frontend to various hardware.
deviceplutosdrscan.h
Go to the documentation of this file.
1 // Copyright (C) 2017 Edouard Griffiths, F4EXB //
3 // //
4 // This program is free software; you can redistribute it and/or modify //
5 // it under the terms of the GNU General Public License as published by //
6 // the Free Software Foundation as version 3 of the License, or //
7 // (at your option) any later version. //
8 // //
9 // This program is distributed in the hope that it will be useful, //
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of //
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
12 // GNU General Public License V3 for more details. //
13 // //
14 // You should have received a copy of the GNU General Public License //
15 // along with this program. If not, see <http://www.gnu.org/licenses/>. //
17 
18 #ifndef DEVICES_PLUTOSDR_DEVICEPLUTOSDRSCAN_H_
19 #define DEVICES_PLUTOSDR_DEVICEPLUTOSDRSCAN_H_
20 
21 #include <string>
22 #include <vector>
23 #include <map>
24 
25 #include "export.h"
26 
28 {
29 public:
30  struct DeviceScan
31  {
32  std::string m_name;
33  std::string m_serial;
34  std::string m_uri;
35  };
36 
37  void scan();
38  int getNbDevices() const { return m_scans.size(); }
39  const std::string* getURIAt(unsigned int index) const;
40  const std::string* getSerialAt(unsigned int index) const ;
41  const std::string* getURIFromSerial(const std::string& serial) const;
42  void getSerials(std::vector<std::string>& serials) const;
43 
44 private:
45  std::vector<DeviceScan> m_scans;
46  std::map<std::string, DeviceScan*> m_serialMap;
47  std::map<std::string, DeviceScan*> m_urilMap;
48 };
49 
50 
51 
52 #endif /* DEVICES_PLUTOSDR_DEVICEPLUTOSDRSCAN_H_ */
std::vector< DeviceScan > m_scans
#define DEVICES_API
Definition: export.h:76
std::map< std::string, DeviceScan * > m_urilMap
std::map< std::string, DeviceScan * > m_serialMap