]> git.donarmstrong.com Git - lilypond.git/blobdiff - flower/include/file-path.hh
* flower
[lilypond.git] / flower / include / file-path.hh
index fdaf3e254a8dbf518156418626651cb3b0f0e0dc..f9d9f816ccbeb2279133ca4a75910f264aaa509e 100644 (file)
@@ -1,47 +1,37 @@
 /*
-  path.hh -- declare File_path
+  file-path.hh -- declare File_name and File_path
 
   source file of the Flower Library
 
-  (c)  1997--2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+  (c) 1997--2005 Han-Wen Nienhuys <hanwen@cs.uu.nl>
 */
 
-#ifndef PATH_HH
-#define PATH_HH
-#include "string.hh"
-#include "array.hh"
+#ifndef FILE_PATH_HH
+#define FILE_PATH_HH
 
+#include "array.hh"
+#include "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 File_path : private Array<String>
 {
 public:
-  String find (String nm) const;
-
-  Array<String>::push;
-  String str ()const;
-  bool try_add (String str);
-  void add (String);
+  Array<String> 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) { Array<String>::push (str); }
   void parse_path (String);
+  void prepend (String str) { Array<String>::insert (str, 0); }
 };
 
-/** split a path into its components.
-
-  @params path
-
-  @return
-  String &drive, String &dirs, String &filebase, String &extension
- */
-void split_path (String path, String &drive, String &dirs, String &filebase, String &extension);
-
-#endif
+#endif /* FILE_PATH */