1 #ifndef _VIEW_MODEL_H
2 #define _VIEW_MODEL_H
3 
4 //#include <unistd.h>
5 #include <stdio.h>
6 #include <stdlib.h>
7 #include <stdbool.h>
8 #include <string.h>
9 //#include <memory.h>
10 #include "aos_system.h"
11 #include "render.h"
12 
13 #ifdef __cplusplus
14 extern "C" {
15 #endif
16 
17 
18 
19 typedef struct _vm_desc_t{
20     vm_data_state_e  state;
21     widget_desc_t   *widget;
22     char            *name;
23 
24     char            *props;
25     //vm_data_type_e   type;
26     vm_data_type_t   data;
27     int              num;
28 }vm_desc_t;
29 
30 typedef struct _vm_msg_t{
31     vm_desc_t       payload;
32     vm_msg_type_e   type;
33 }vm_msg_t;
34 
35 
36 int vm_msg_put(vm_msg_t* msg, int size);
37 
38 int vm_data_register(widget_desc_t * widget, char *props, char *name);
39 
40 int vm_data_send_to_view(vm_msg_type_e msg_type, vm_desc_t *payload, int num);
41 
42 bool vm_data_is_registered(widget_desc_t * widget, char *name);
43 
44 int vm_data_duplicate(widget_desc_t *src, widget_desc_t *dest, char *name, int index);
45 
46 int vm_props_set(widget_desc_t *widget, char *name, vm_data_type_t *value, int index);
47 
48 int amp_view_model_init();
49 
50 #ifdef __cplusplus
51 } /* extern "C" */
52 #endif
53 
54 #endif /*_VIEW_MODEL_H*/
55 
56