1 /*****************************************************************************/ 2 /* LibreDWG - free implementation of the DWG file format */ 3 /* */ 4 /* Copyright (C) 2020 Free Software Foundation, Inc. */ 5 /* */ 6 /* This library is free software, licensed under the terms of the GNU */ 7 /* General Public License as published by the Free Software Foundation, */ 8 /* either version 3 of the License, or (at your option) any later version. */ 9 /* You should have received a copy of the GNU General Public License */ 10 /* along with this program. If not, see <http://www.gnu.org/licenses/>. */ 11 /*****************************************************************************/ 12 13 /* 14 * classes.h: map type to name. classify into unstable, debugging and unhandled. 15 * written by Reini Urban 16 */ 17 18 #ifndef CLASSES_H 19 #define CLASSES_H 20 21 #include "config.h" 22 #include <stdbool.h> 23 #include "common.h" 24 #include "dwg.h" 25 26 /* helpers: is_type_unstable (type); ... */ 27 28 const char *dwg_type_name (const Dwg_Object_Type type); 29 const char* dwg_type_dxfname (const Dwg_Object_Type type); 30 Dwg_Object_Type dwg_name_type (const char *name); 31 bool is_type_stable (const Dwg_Object_Type type); 32 bool is_type_unstable_all (const Dwg_Object_Type type); 33 bool is_type_unstable (const Dwg_Object_Type type); 34 bool is_type_debugging (const Dwg_Object_Type type); 35 bool is_type_unhandled (const Dwg_Object_Type type); 36 bool is_class_stable (const char* name) __nonnull_all; 37 bool is_class_unstable (const char* name) __nonnull_all; 38 bool is_class_debugging (const char* name) __nonnull_all; 39 bool is_class_unhandled (const char* name) __nonnull_all; 40 bool dwg_find_class (const Dwg_Data *restrict dwg, const char* dxfname, 41 BITCODE_BS *numberp) __nonnull ((1,2)); 42 void object_alias (char *restrict name) __nonnull_all; 43 void entity_alias (char *restrict name) __nonnull_all; 44 bool has_entity_DD (const Dwg_Object* obj) __nonnull_all; 45 bool obj_has_strings (const Dwg_Object* obj) __nonnull_all; 46 47 #endif 48