apps/elftosb/common/SearchPath.h
/*
* File: SearchPath.h
*
* Copyright (c) Freescale Semiconductor, Inc. All rights reserved.
* See included license file for license details.
*/
#if !defined(_searchpath_h_)
#define _searchpath_h_
#include <string>
#include <list>
class PathSearcher
{
public:
enum _target_type
{
kFindFile,
kFindDirectory
};
typedef enum _target_type target_type_t;
protected:
static PathSearcher *s_searcher;
public:
static PathSearcher &getGlobalSearcher();
public:
PathSearcher() {}
void addSearchPath(std::string &path);
bool search(const std::string &base, target_type_t targetType, bool searchCwd, std::string &result);
protected:
typedef std::list<std::string> string_list_t;
string_list_t m_paths;
bool isAbsolute(const std::string &path);
std::string joinPaths(const std::string &first, const std::string &second);
};
#endif // _searchpath_h_
PathSearcher::addSearchPath
void addSearchPath(std::string &path)
Add a new search path to the end of the list.
Definition: apps/elftosb/common/SearchPath.cpp:33
PathSearcher::getGlobalSearcher
static PathSearcher & getGlobalSearcher()
Access global path searching object.
Definition: apps/elftosb/common/SearchPath.cpp:23
PathSearcher::search
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
PathSearcher::isAbsolute
bool isAbsolute(const std::string &path)
Returns whether path is absolute.
Definition: apps/elftosb/common/SearchPath.cpp:96
PathSearcher::string_list_t
std::list< std::string > string_list_t
Linked list of strings.
Definition: apps/elftosb/common/SearchPath.h:47
PathSearcher::joinPaths
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
PathSearcher::m_paths
string_list_t m_paths
Ordered list of paths to search.
Definition: apps/elftosb/common/SearchPath.h:48
PathSearcher
Handles searching a list of paths for a file.
Definition: apps/elftosb/common/SearchPath.h:16
PathSearcher::PathSearcher
PathSearcher()
Constructor.
Definition: apps/elftosb/common/SearchPath.h:39
PathSearcher::s_searcher
static PathSearcher * s_searcher
Global search object singleton.
Definition: apps/elftosb/common/SearchPath.h:31