Kinetis Bootloader Host  2.0.0
Host Tools for Kinetis devices
apps/elftosb/common/SearchPath.h
1 /*
2  * File: SearchPath.h
3  *
4  * Copyright (c) Freescale Semiconductor, Inc. All rights reserved.
5  * See included license file for license details.
6  */
7 #if !defined(_searchpath_h_)
8 #define _searchpath_h_
9 
10 #include <string>
11 #include <list>
12 
17 {
18 public:
20  enum _target_type
21  {
22  kFindFile,
23  kFindDirectory
24  };
25 
27  typedef enum _target_type target_type_t;
28 
29 protected:
32 
33 public:
36 
37 public:
41  void addSearchPath(std::string &path);
42 
44  bool search(const std::string &base, target_type_t targetType, bool searchCwd, std::string &result);
45 
46 protected:
47  typedef std::list<std::string> string_list_t;
48  string_list_t m_paths;
49 
51  bool isAbsolute(const std::string &path);
52 
54  std::string joinPaths(const std::string &first, const std::string &second);
55 };
56 
57 #endif // _searchpath_h_
void addSearchPath(std::string &path)
Add a new search path to the end of the list.
Definition: apps/elftosb/common/SearchPath.cpp:33
static PathSearcher & getGlobalSearcher()
Access global path searching object.
Definition: apps/elftosb/common/SearchPath.cpp:23
bool search(const std::string &base, target_type_t targetType, bool searchCwd, std::string &result)
Attempts to locate a file by using the search paths.
Definition: apps/elftosb/common/SearchPath.cpp:54
bool isAbsolute(const std::string &path)
Returns whether path is absolute.
Definition: apps/elftosb/common/SearchPath.cpp:96
std::list< std::string > string_list_t
Linked list of strings.
Definition: apps/elftosb/common/SearchPath.h:47
std::string joinPaths(const std::string &first, const std::string &second)
Combines two paths into a single one.
Definition: apps/elftosb/common/SearchPath.cpp:105
string_list_t m_paths
Ordered list of paths to search.
Definition: apps/elftosb/common/SearchPath.h:48
Handles searching a list of paths for a file.
Definition: apps/elftosb/common/SearchPath.h:16
PathSearcher()
Constructor.
Definition: apps/elftosb/common/SearchPath.h:39
static PathSearcher * s_searcher
Global search object singleton.
Definition: apps/elftosb/common/SearchPath.h:31