GNSS-SDR  0.0.19
An Open Source GNSS Software Defined Receiver
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 
29 #include "gnss_block_interface.h"
30 #include <glog/logging.h>
31 
32 /** \addtogroup Core
33  * \{ */
34 /** \addtogroup GNSS_Block_Interfaces GNSS block interfaces
35  * GNSS block interfaces.
36  * \{ */
37 
38 /*! \brief This abstract class represents an interface to signal_source GNSS block.
39  *
40  * Abstract class for signal sources. Since all its methods are virtual,
41  * this class cannot be instantiated directly, and a subclass can only be
42  * instantiated directly if all inherited pure virtual methods have been
43  * implemented by that class or a parent class.
44  */
45 
47 {
48 public:
49  virtual size_t getRfChannels() const = 0;
50 
51 protected:
53  {
54  VLOG(1) << "SignalSourceInterface: " << this << " ctor";
55  }
56 
57 public: // required for polymorphic destruction
59  {
60  VLOG(1) << "SignalSourceInterface: " << this << " dtor";
61  }
62 };
63 
64 
65 #endif
This abstract class represents an interface to signal_source GNSS block.
This interface represents a GNSS block.
This abstract class represents an interface to GNSS blocks.