1 //
2 //      aegis - project change supervisor
3 //      Copyright (C) 2003-2008, 2011, 2012 Peter Miller
4 //
5 //      This program is free software; you can redistribute it and/or modify
6 //      it under the terms of the GNU General Public License as published by
7 //      the Free Software Foundation; either version 3 of the License, or
8 //      (at your option) any later version.
9 //
10 //      This program is distributed in the hope that it will be useful,
11 //      but WITHOUT ANY WARRANTY; without even the implied warranty of
12 //      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 //      GNU General Public License for more details.
14 //
15 //      You should have received a copy of the GNU General Public License
16 //      along with this program. If not, see
17 //      <http://www.gnu.org/licenses/>.
18 //
19 
20 #ifndef LIBAEGIS_VIEW_PATH_H
21 #define LIBAEGIS_VIEW_PATH_H
22 
23 
24 /**
25   * If you add to this enum, make sure you extend project::file_list
26   * and change::file_list
27   */
28 enum view_path_ty
29 {
30     /**
31       * Only use the first element of the view path.  Transparent and
32       * removed files will be reported.
33       */
34     view_path_first,
35 
36     /**
37       * Walk down the search list looking for files, unioning all of
38       * the file lists together.  Transparent and removed file will be
39       * reported.  The "none" is somewhat of a misnomer - it means no
40       * transparency processing is done, rather than no view path.
41       */
42     view_path_none,
43 
44     /**
45       * Apply the transparency when searching for files, but return
46       * removed files when you see them.
47       */
48     view_path_simple,
49 
50     /**
51       * Apply the transparency when searching for files, and also omit
52       * any mention of removed files.
53       */
54     view_path_extreme
55 };
56 
57 //
58 // Use for declaring arrays indexed by view_path_ty.
59 // Don't put it into the enum, of gcc can't give sensable errors.
60 //
61 #define view_path_MAX 4
62 
63 /**
64   * The view_path_ename function may be used to obtain a human readable
65   * string equivalent of a view_path_ty value.
66   */
67 const char *view_path_ename(view_path_ty);
68 
69 #endif // LIBAEGIS_VIEW_PATH_H
70 // vim: set ts=8 sw=4 et :
71