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