MVSim
Lightweight simulator for 2.5D vehicles and robots
RemoteResourcesManager.h
1 /*+-------------------------------------------------------------------------+
2  | MultiVehicle simulator (libmvsim) |
3  | |
4  | Copyright (C) 2014-2026 Jose Luis Blanco Claraco |
5  | Copyright (C) 2017 Borys Tymchenko (Odessa Polytechnic University) |
6  | Distributed under 3-clause BSD License |
7  | See COPYING |
8  +-------------------------------------------------------------------------+ */
9 
10 #pragma once
11 
12 #include <mrpt/system/COutputLogger.h>
13 
14 #include <string>
15 #include <tuple>
16 
17 namespace mvsim
18 {
28 class RemoteResourcesManager : public mrpt::system::COutputLogger
29 {
30  public:
32  ~RemoteResourcesManager() = default;
33 
45  std::string resolve_path(const std::string& uri);
46 
49  static bool is_remote(const std::string& uri);
50 
54  static std::tuple<bool, std::string, std::string> zip_uri_split(const std::string& uri);
55 
56  static std::string cache_directory();
57 
58  private:
59  std::string handle_remote_uri(const std::string& uri);
60 
63  std::string handle_local_zip_package(
64  const std::string& localZipFil, const std::string& internalURI);
65 };
66 
67 } // namespace mvsim
Definition: RemoteResourcesManager.h:29
static bool is_remote(const std::string &uri)
std::string resolve_path(const std::string &uri)
static std::tuple< bool, std::string, std::string > zip_uri_split(const std::string &uri)