#ifndef PBD_SEARCH_PATH_INCLUDED
#define PBD_SEARCH_PATH_INCLUDED
+#ifdef SearchPath
+#undef SearchPath
+#endif
+
#include <string>
#include <vector>
-#include "pbd/filesystem.h"
-
namespace PBD {
/**
- * @class The SearchPath class is a helper class for getting a
+ * @class SearchPath
+ *
+ * The SearchPath class is a helper class for getting a
* vector of paths contained in a search path string where a
* "search path string" contains absolute directory paths
* separated by a colon(:) or a semi-colon(;) on windows.
* The SearchPath class does not test whether the paths exist
* or are directories. It is basically just a container.
*/
-class SearchPath : public std::vector<sys::path>
+class SearchPath : public std::vector<std::string>
{
public:
/**
*/
SearchPath (const std::string& search_path);
- /**
- * Initialize SearchPath from a sys::path.
- *
- * @param directory_path A directory path.
- */
- SearchPath (const PBD::sys::path& directory_path);
-
/**
* Initialize SearchPath from a vector of paths that may or may
* not exist.
*
- * @param path A path.
+ * @param paths A vector of paths.
*/
- SearchPath (const std::vector<PBD::sys::path>& paths);
+ SearchPath (const std::vector<std::string>& paths);
/**
* @return a search path string.
/**
* Add another directory path to the search path.
*/
- SearchPath& operator+= (const PBD::sys::path& directory_path);
+ SearchPath& operator+= (const std::string& directory_path);
/**
* Concatenate another SearchPath onto this.
/**
* Add another path to the search path.
*/
- SearchPath& operator+ (const PBD::sys::path& directory_path);
+ SearchPath& operator+ (const std::string& directory_path);
/**
* Add a sub-directory to each path in the search path.
SearchPath& add_subdirectory_to_paths (const std::string& subdir);
protected:
- void add_directory (const sys::path& directory_path);
- void add_directories (const std::vector<PBD::sys::path>& paths);
+
+ void add_directory (const std::string& directory_path);
+ void add_directories (const std::vector<std::string>& paths);
};
} // namespace PBD