1 /* XML resource locating rules 2 Copyright (C) 2015, 2018 Free Software Foundation, Inc. 3 4 This file was written by Daiki Ueno <ueno@gnu.org>, 2015. 5 6 This program is free software: you can redistribute it and/or modify 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 9 (at your option) any later version. 10 11 This program is distributed in the hope that it will be useful, 12 but WITHOUT ANY WARRANTY; without even the implied warranty of 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 GNU General Public License for more details. 15 16 You should have received a copy of the GNU General Public License 17 along with this program. If not, see <https://www.gnu.org/licenses/>. */ 18 19 #ifndef _LOCATING_RULE_H 20 #define _LOCATING_RULE_H 21 22 #include <stdbool.h> 23 24 #ifdef __cplusplus 25 extern "C" { 26 #endif 27 28 typedef struct locating_rule_list_ty locating_rule_list_ty; 29 30 /* Creates a fresh locating_rule_list_ty. */ 31 extern struct locating_rule_list_ty *locating_rule_list_alloc (void); 32 33 extern bool 34 locating_rule_list_add_from_directory (locating_rule_list_ty *rules, 35 const char *directory); 36 37 /* Determines the location of resource associated with FILENAME, 38 accoding to the loaded locating rules. */ 39 extern const char *locating_rule_list_locate (locating_rule_list_ty *rules, 40 const char *filename, 41 const char *name); 42 43 /* Releases memory allocated for RULES. */ 44 extern void locating_rule_list_free (locating_rule_list_ty *rules); 45 46 #ifdef __cplusplus 47 } 48 #endif 49 50 #endif /* _LOCATING_RULE_H */ 51