1 /**
2  * @file lv_xml_component_private.h
3  *
4  */
5 
6 #ifndef LV_XML_COMPONENT_PRIVATE_H
7 #define LV_XML_COMPONENT_PRIVATE_H
8 
9 #ifdef __cplusplus
10 extern "C" {
11 #endif
12 
13 /*********************
14  *      INCLUDES
15  *********************/
16 #include "lv_xml.h"
17 #if LV_USE_XML
18 
19 #include "lv_xml_utils.h"
20 #include "../../misc/lv_ll.h"
21 
22 /**********************
23  *      TYPEDEFS
24  **********************/
25 
26 typedef  void * (*lv_xml_component_process_cb_t)(lv_obj_t * parent, const char * data, const char ** attrs);
27 
28 struct _lv_xml_component_ctx_t {
29     const char * name;
30     lv_ll_t style_ll;
31     lv_ll_t const_ll;
32     lv_ll_t param_ll;
33     const char * view_def;
34     struct _lv_widget_processor_t * root_widget;
35     uint32_t is_widget : 1;                         /*1: not component but widget registered as a component for preview*/
36     struct _lv_xml_component_ctx_t * next;
37 };
38 
39 /**********************
40  * GLOBAL PROTOTYPES
41  **********************/
42 
43 /**
44  * Initialize the components system.
45  */
46 void lv_xml_component_init(void);
47 
48 /**********************
49  *      MACROS
50  **********************/
51 
52 #endif /* LV_USE_XML */
53 
54 #ifdef __cplusplus
55 } /*extern "C"*/
56 #endif
57 
58 #endif /*LV_XML_COMPONENT_PRIVATE_H*/
59