SoapySDR  0.8.0-gab626068
Vendor and platform neutral SDR interface library
Registry.hpp
Go to the documentation of this file.
1 
11 #pragma once
12 #include <SoapySDR/Config.hpp>
13 #include <SoapySDR/Version.hpp>
14 #include <SoapySDR/Types.hpp>
15 #include <vector>
16 #include <string>
17 #include <map>
18 
19 namespace SoapySDR
20 {
21 
23 class Device;
24 
26 typedef KwargsList (*FindFunction)(const Kwargs &);
27 
29 typedef Device* (*MakeFunction)(const Kwargs &);
30 
32 typedef std::map<std::string, FindFunction> FindFunctions;
33 
35 typedef std::map<std::string, MakeFunction> MakeFunctions;
36 
41 {
42 public:
43 
51  Registry(const std::string &name, const FindFunction &find, const MakeFunction &make, const std::string &abi);
52 
54  ~Registry(void);
55 
60  static FindFunctions listFindFunctions(void);
61 
66  static MakeFunctions listMakeFunctions(void);
67 
68 private:
69  std::string _name;
70 };
71 
72 }
SOAPY_SDR_API
#define SOAPY_SDR_API
Definition: Config.h:41
SoapySDR::FindFunction
KwargsList(* FindFunction)(const Kwargs &)
typedef for a device enumeration function
Definition: Registry.hpp:26
SoapySDR::Device
Definition: Device.hpp:32
SoapySDR::FindFunctions
std::map< std::string, FindFunction > FindFunctions
typedef for a dictionary of find functions
Definition: Registry.hpp:32
SoapySDR
Definition: ConverterPrimitives.hpp:14
SoapySDR::MakeFunctions
std::map< std::string, MakeFunction > MakeFunctions
typedef for a dictionary of make functions
Definition: Registry.hpp:35
Config.hpp
Version.hpp
SoapySDR::Kwargs
std::map< std::string, std::string > Kwargs
Typedef for a dictionary of key-value string arguments.
Definition: Types.hpp:23
SoapySDR::KwargsList
std::vector< Kwargs > KwargsList
Typedef for a list of key-word dictionaries.
Definition: Types.hpp:38
Types.hpp
SoapySDR::MakeFunction
Device *(* MakeFunction)(const Kwargs &)
typedef for a device factory function
Definition: Registry.hpp:29
SoapySDR::Registry
Definition: Registry.hpp:40