nav_library_data_source.h
Go to the documentation of this file.
1 // SPDX-License-Identifier: BSD-3-Clause
2 // SPDX-FileCopyrightText: Czech Technical University in Prague
3 
4 #pragma once
5 
6 #include <functional>
7 #include <string>
8 #include <unordered_set>
9 #include <utility>
10 
11 #include <ros/time.h>
12 
13 
14 namespace gnss_info
15 {
16 
21 {
22 public:
28  typedef std::function<bool(const std::string& file)> DataSourceLoadCb;
29 
35  NavLibraryDataSource() = default;
36 
37  virtual ~NavLibraryDataSource() = default;
38 
43  virtual std::string getName() const = 0;
44 
49  virtual bool isPrecise() const = 0;
50 
55  virtual bool isApproximate() const = 0;
56 
61  virtual std::pair<ros::Time, ros::Time> getTimeRange() const = 0;
62 
67  virtual std::unordered_set<std::string> getConstellations() const = 0;
68 
75  virtual bool load(const ros::Time& time, const DataSourceLoadCb& cb) = 0;
76 
84  virtual bool load(const ros::Time& startTime, const ros::Time& endTime, const DataSourceLoadCb& cb) = 0;
85 };
86 
87 }
gnss_info::NavLibraryDataSource::getName
virtual std::string getName() const =0
Get human-readable name of the data source.
gnss_info::NavLibraryDataSource::load
virtual bool load(const ros::Time &time, const DataSourceLoadCb &cb)=0
Load data for the given time instant.
gnss_info::NavLibraryDataSource::getTimeRange
virtual std::pair< ros::Time, ros::Time > getTimeRange() const =0
Get the time range in which this datasource can provide information.
gnss_info::NavLibraryDataSource
Generic interface for various data sources for gnsstk::NavLibrary.
Definition: nav_library_data_source.h:20
gnss_info::NavLibraryDataSource::isPrecise
virtual bool isPrecise() const =0
Return whether this datasource works with precise orbit data.
gnss_info::NavLibraryDataSource::~NavLibraryDataSource
virtual ~NavLibraryDataSource()=default
gnss_info::NavLibraryDataSource::NavLibraryDataSource
NavLibraryDataSource()=default
Construct the data source.
gnss_info
Definition: cache.h:15
gnss_info::NavLibraryDataSource::DataSourceLoadCb
std::function< bool(const std::string &file)> DataSourceLoadCb
Callback to be called when a new source file is introduced.
Definition: nav_library_data_source.h:28
ros::Time
gnss_info::NavLibraryDataSource::getConstellations
virtual std::unordered_set< std::string > getConstellations() const =0
Get the constellations handled by this data source.
gnss_info::NavLibraryDataSource::isApproximate
virtual bool isApproximate() const =0
Return whether this datasource works with approximate orbit data.


gnss_info
Author(s): Martin Pecka
autogenerated on Fri Nov 24 2023 03:50:35