24#ifndef GNSS_SDR_BLOCK_FACTORY_H
25#define GNSS_SDR_BLOCK_FACTORY_H
52 GNSSBlockFactory() =
default;
53 ~GNSSBlockFactory() =
default;
58 std::unique_ptr<GNSSBlockInterface> GetSignalConditioner(
const ConfigurationInterface* configuration,
int ID = -1)
const;
71 const std::string& role,
72 unsigned int in_streams,
73 unsigned int out_streams,
77 std::unique_ptr<GNSSBlockInterface> GetChannel(
79 const std::string& signal,
83 std::unique_ptr<AcquisitionInterface> GetAcqBlock(
85 const std::string& role,
86 unsigned int in_streams,
87 unsigned int out_streams)
const;
89 std::unique_ptr<TrackingInterface> GetTrkBlock(
91 const std::string& role,
92 unsigned int in_streams,
93 unsigned int out_streams)
const;
95 std::unique_ptr<TelemetryDecoderInterface> GetTlmBlock(
97 const std::string& role,
98 unsigned int in_streams,
99 unsigned int out_streams)
const;
This abstract class represents an interface to an acquisition GNSS block.
This class implements a thread-safe std::queue.
This abstract class represents an interface to configuration parameters.
std::unique_ptr< GNSSBlockInterface > GetBlock(const ConfigurationInterface *configuration, const std::string &role, unsigned int in_streams, unsigned int out_streams, Concurrent_Queue< pmt::pmt_t > *queue=nullptr) const
Returns the block with the required role implementation and its configuration parameters.
This abstract class represents an interface to GNSS blocks.
This abstract class represents an interface to signal_source GNSS block.
This abstract class represents an interface to a navigation GNSS block.
This abstract class represents an interface to a tracking block.
Interface of a thread-safe std::queue.