OLD | NEW |
1 /* | 1 /* |
2 This file is part of LilyPond, the GNU music typesetter. | 2 This file is part of LilyPond, the GNU music typesetter. |
3 | 3 |
4 Copyright (C) 1997--2020 Jan Nieuwenhuizen <janneke@gnu.org> | 4 Copyright (C) 1997--2020 Jan Nieuwenhuizen <janneke@gnu.org> |
5 | 5 |
6 LilyPond is free software: you can redistribute it and/or modify | 6 LilyPond is free software: you can redistribute it and/or modify |
7 it under the terms of the GNU General Public License as published by | 7 it under the terms of the GNU General Public License as published by |
8 the Free Software Foundation, either version 3 of the License, or | 8 the Free Software Foundation, either version 3 of the License, or |
9 (at your option) any later version. | 9 (at your option) any later version. |
10 | 10 |
11 LilyPond is distributed in the hope that it will be useful, | 11 LilyPond is distributed in the hope that it will be useful, |
12 but WITHOUT ANY WARRANTY; without even the implied warranty of | 12 but WITHOUT ANY WARRANTY; without even the implied warranty of |
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
14 GNU General Public License for more details. | 14 GNU General Public License for more details. |
15 | 15 |
16 You should have received a copy of the GNU General Public License | 16 You should have received a copy of the GNU General Public License |
17 along with LilyPond. If not, see <http://www.gnu.org/licenses/>. | 17 along with LilyPond. If not, see <http://www.gnu.org/licenses/>. |
18 */ | 18 */ |
19 | 19 |
20 #ifndef SOURCES_HH | 20 #ifndef SOURCES_HH |
21 #define SOURCES_HH | 21 #define SOURCES_HH |
22 | 22 |
23 #include "lily-proto.hh" | 23 #include "lily-proto.hh" |
24 #include "std-vector.hh" | 24 #include "std-vector.hh" |
25 | 25 |
| 26 /** holds a list of Source_files, which are assumed to be protected |
| 27 objects. On destruction, unprotect the objects. |
| 28 */ |
26 class Sources | 29 class Sources |
27 { | 30 { |
28 Sources (Sources const &) = delete; | 31 Sources (Sources const &) = delete; |
29 Sources& operator= (Sources const &) = delete; | 32 Sources& operator= (Sources const &) = delete; |
30 | 33 |
31 std::vector<Source_file *> sourcefiles_; | 34 std::vector<Source_file *> sourcefiles_; |
| 35 const File_path *path_; |
| 36 std::string find_full_path(std::string file_string, const std::string &dir) co
nst; |
32 | 37 |
33 public: | 38 public: |
34 Sources (); | 39 Sources (); |
35 ~Sources (); | 40 ~Sources (); |
36 | 41 |
37 Source_file *get_file (std::string file_name, std::string const ¤tpath); | 42 Source_file *get_file (std::string file_name, std::string const ¤tpath); |
38 void add (Source_file *sourcefile); | 43 void add (Source_file *sourcefile); |
| 44 std::string search_path() const; |
39 void set_path (File_path *); | 45 void set_path (File_path *); |
40 | |
41 const File_path *path_; | |
42 }; | 46 }; |
43 | 47 |
44 #endif /* SOURCE_HH */ | 48 #endif /* SOURCE_HH */ |
OLD | NEW |