GNSS-SDR 0.0.21
An Open Source GNSS Software Defined Receiver
Loading...
Searching...
No Matches
signal_source_interface.h
1/*!
2 * \signal_source_interface.h
3 * \brief Header file of the interface to a signal_source GNSS block.
4 * \author Jim Melton, 2020. jim.melton(at)sncorp.com
5 *
6 * This header file contains the interface to an abstract class for
7 * signal sources. Since all its methods are virtual, this class
8 * cannot be instantiated directly, and a subclass can only be
9 * instantiated directly if all inherited pure virtual methods have
10 * been implemented by that class or a parent class.
11 *
12 * -----------------------------------------------------------------------------
13 *
14 * Copyright (C) 2010-2020 (see AUTHORS file for a list of contributors)
15 *
16 * GNSS-SDR is a software defined Global Navigation
17 * Satellite Systems receiver
18 *
19 * This file is part of GNSS-SDR.
20 *
21 * SPDX-License-Identifier: GPL-3.0-or-later
22 *
23 * -----------------------------------------------------------------------------
24 */
25
26#ifndef GNSS_SDR_SIGNAL_SOURCE_INTERFACE_H
27#define GNSS_SDR_SIGNAL_SOURCE_INTERFACE_H
28
30
31#if USE_GLOG_AND_GFLAGS
32#include <glog/logging.h>
33#else
34#include <absl/log/log.h>
35#endif
36
37/** \addtogroup Core
38 * \{ */
39/** \addtogroup GNSS_Block_Interfaces GNSS block interfaces
40 * GNSS block interfaces.
41 * \{ */
42
43/*! \brief This abstract class represents an interface to signal_source GNSS block.
44 *
45 * Abstract class for signal sources. Since all its methods are virtual,
46 * this class cannot be instantiated directly, and a subclass can only be
47 * instantiated directly if all inherited pure virtual methods have been
48 * implemented by that class or a parent class.
49 */
50
51class SignalSourceInterface : public GNSSBlockInterface
52{
53public:
54 virtual size_t getRfChannels() const = 0;
55
56protected:
57 SignalSourceInterface()
58 {
59 VLOG(1) << "SignalSourceInterface: " << this << " ctor";
60 }
61
62public: // required for polymorphic destruction
63 ~SignalSourceInterface()
64 {
65 VLOG(1) << "SignalSourceInterface: " << this << " dtor";
66 }
67};
68
69
70#endif
This abstract class represents an interface to GNSS blocks.
This interface represents a GNSS block.