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
15 * unhandled. 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 is_dxf_class_importable (const char *name) __nonnull_all;
41 bool dwg_find_class (const Dwg_Data *restrict dwg, const char *dxfname,
42 BITCODE_BS *numberp) __nonnull ((1, 2));
43 void object_alias (char *restrict name) __nonnull_all;
44 void entity_alias (char *restrict name) __nonnull_all;
45 bool has_entity_DD (const Dwg_Object *obj) __nonnull_all;
46 bool obj_has_strings (const Dwg_Object *obj) __nonnull_all;
47
48 #endif