X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=flower%2Finclude%2Ffile-path.hh;h=e66ddfa0d4cd38d4873acfc7e63f389b60d6a88e;hb=5b4b0d6e9a197e8f9eb085b7c2ad78b8be3e5cfc;hp=898bb3939fb2291c4c17cd463717e8f92bcfd6df;hpb=d53a619ef343bc5a5e19699d011b873bc0cf86d8;p=lilypond.git diff --git a/flower/include/file-path.hh b/flower/include/file-path.hh index 898bb3939f..e66ddfa0d4 100644 --- a/flower/include/file-path.hh +++ b/flower/include/file-path.hh @@ -1,58 +1,42 @@ /* - path.hh -- declare File_path + file-path.hh -- declare File_path source file of the Flower Library - (c) 1997--2000 Han-Wen Nienhuys + (c) 1997--2008 Han-Wen Nienhuys */ -#ifndef PATH_HH -#define PATH_HH -#include "string.hh" -#include "array.hh" +#ifndef FILE_PATH_HH +#define FILE_PATH_HH +#include "std-vector.hh" +#include "std-string.hh" -/** - search in directories for a file. +/** + search in directories for a file. Abstraction of PATH variable. An interface for searching input files. Search a number of dirs for a file. - TODO: add a unix style PATH interface - Should use kpathsea? - + TODO: add a unix style PATH interface */ -class Path +class File_path { -public: - String root; - String dir; - String base; - String ext; - - String path () const; -}; + vector dirs_; -class File_path : private Array -{ public: - String find (String nm) const; - - Array::push; - String str ()const; - bool try_add (String str); - void add (String); - void parse_path (String); + vector directories () const; + string find (string name) const; + string find (string name, char const *extensions[]); + string to_string () const; + bool try_append (string str); + void append (string str); + void parse_path (string); + void prepend (string str); }; -/** split a path into its components. - - @params path - - @return - String &drive, String &dirs, String &filebase, String &extension - */ -Path split_path (String path); +bool is_file (string file_name); +bool is_dir (string file_name); -#endif +#endif /* FILE_PATH */