GNSS-SDR  0.0.19
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  * GNSS-SDR is a Global Navigation Satellite System software-defined receiver.
14  * This file is part of GNSS-SDR.
15  *
16  * Copyright (C) 2010-2020 (see AUTHORS file for a list of contributors)
17  * SPDX-License-Identifier: GPL-3.0-or-later
18  *
19  * -----------------------------------------------------------------------------
20  */
21 
22 
23 #ifndef GNSS_SDR_TRACKING_INTERFACE_H
24 #define GNSS_SDR_TRACKING_INTERFACE_H
25 
26 #include "gnss_block_interface.h"
27 #include "gnss_synchro.h"
28 
29 /** \addtogroup Core
30  * \{ */
31 /** \addtogroup GNSS_Block_Interfaces
32  * \{ */
33 
34 
35 template <typename Data>
36 class Concurrent_Queue;
37 
38 /*!
39  * \brief This abstract class represents an interface to a tracking block.
40  *
41  * Abstract class for tracking interfaces. Since all its methods are virtual,
42  * this class cannot be instantiated directly, and a subclass can only be
43  * instantiated directly if all inherited pure virtual methods have been
44  * implemented by that class or a parent class.
45  *
46  */
48 {
49 public:
50  virtual void start_tracking() = 0;
51  virtual void stop_tracking() = 0;
52  virtual void set_gnss_synchro(Gnss_Synchro* gnss_synchro) = 0;
53  virtual void set_channel(unsigned int channel) = 0;
54 };
55 
56 
57 /** \} */
58 /** \} */
59 #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:38
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.