GNSS-SDR  0.0.13
An Open Source GNSS Software Defined Receiver
tracking_interface.h
Go to the documentation of this file.
1 /*!
2  * \file tracking_interface.h
3  * \brief This class represents an interface to a tracking block.
4  * \author Carlos Aviles, 2010. carlos.avilesr(at)googlemail.com
5  *
6  * Abstract class for tracking interfaces. Since all its methods are virtual,
7  * this class cannot be instantiated directly, and a subclass can only be
8  * instantiated directly if all inherited pure virtual methods have been
9  * implemented by that class or a parent class.
10  *
11  * -----------------------------------------------------------------------------
12  *
13  * Copyright (C) 2010-2020 (see AUTHORS file for a list of contributors)
14  *
15  * GNSS-SDR is a software defined Global Navigation
16  * Satellite Systems receiver
17  *
18  * This file is part of GNSS-SDR.
19  *
20  * SPDX-License-Identifier: GPL-3.0-or-later
21  *
22  * -----------------------------------------------------------------------------
23  */
24 
25 
26 #ifndef GNSS_SDR_TRACKING_INTERFACE_H
27 #define GNSS_SDR_TRACKING_INTERFACE_H
28 
29 #include "gnss_block_interface.h"
30 #include "gnss_synchro.h"
31 
32 template <typename Data>
33 class Concurrent_Queue;
34 
35 /*!
36  * \brief This abstract class represents an interface to a tracking block.
37  *
38  * Abstract class for tracking interfaces. Since all its methods are virtual,
39  * this class cannot be instantiated directly, and a subclass can only be
40  * instantiated directly if all inherited pure virtual methods have been
41  * implemented by that class or a parent class.
42  *
43  */
45 {
46 public:
47  virtual void start_tracking() = 0;
48  virtual void stop_tracking() = 0;
49  virtual void set_gnss_synchro(Gnss_Synchro* gnss_synchro) = 0;
50  virtual void set_channel(unsigned int channel) = 0;
51 };
52 
53 #endif // GNSS_SDR_TRACKING_INTERFACE_H
This is the class that contains the information that is shared by the processing blocks.
Definition: gnss_synchro.h:33
This interface represents a GNSS block.
This abstract class represents an interface to GNSS blocks.
This class implements a thread-safe std::queue.
This abstract class represents an interface to a tracking block.
Interface of the Gnss_Synchro class.