54 lines
1.9 KiB
C
54 lines
1.9 KiB
C
#ifndef __SMARTBOX_SETTING_OPT_H__
|
|
#define __SMARTBOX_SETTING_OPT_H__
|
|
|
|
#include "system/includes.h"
|
|
|
|
#define REGISTER_APP_SETTING_OPT(smart_opt) \
|
|
int smart_opt##_setting_init(void) {\
|
|
return register_smartbox_setting_opt_setting(&smart_opt);\
|
|
}\
|
|
late_initcall(smart_opt##_setting_init);
|
|
|
|
#pragma pack(1)
|
|
typedef struct _SMARTBOX_SETTING_OPT {
|
|
struct _SMARTBOX_SETTING_OPT *next;
|
|
bool need_opt;
|
|
u32 data_len;
|
|
int setting_type;
|
|
int syscfg_id;
|
|
int (*get_setting)(u8 *setting_data);
|
|
void (*set_setting)(u8 *setting_data);
|
|
void (*deal_opt_setting)(u8 *setting_data, u8 write_vm, u8 tws_sync);
|
|
|
|
// 上面是必填,下面是选填
|
|
int (*custom_setting_init)(void);
|
|
int (*custom_vm_info_update)(void);
|
|
int (*custom_setting_update)(u8 *setting_data);
|
|
int (*custom_setting_key_event_update)(int event, void *param);
|
|
int (*custom_sibling_setting_deal)(u8 *setting_data);
|
|
int (*custom_setting_release)(void);
|
|
int (*set_setting_extra_handle)(void *setting_data, void *param);
|
|
int (*get_setting_extra_handle)(void *setting_data, void *param);
|
|
} SMARTBOX_SETTING_OPT;
|
|
#pragma pack()
|
|
|
|
void deal_sibling_setting(u8 *buf);
|
|
u8 smartbox_read_data_from_vm(u8 syscfg_id, u8 *buf, u8 buf_len);
|
|
int register_smartbox_setting_opt_setting(void *opt_param);
|
|
|
|
SMARTBOX_SETTING_OPT *get_smartbox_setting_opt_hdl(u16 setting_type);
|
|
void set_smartbox_opt_setting(SMARTBOX_SETTING_OPT *setting_opt, u8 *data);
|
|
int get_smartbox_opt_setting(SMARTBOX_SETTING_OPT *setting_opt, u8 *data);
|
|
int set_setting_extra_handle(SMARTBOX_SETTING_OPT *setting_opt_hdl, void *setting_data, void *param);
|
|
int get_setting_extra_handle(SMARTBOX_SETTING_OPT *setting_opt_hdl, void *setting_data, void *param);
|
|
int smartbox_opt_key_event_update(int event, void *param);
|
|
|
|
void smart_setting_init(void);
|
|
void update_smartbox_setting(u8 type);
|
|
void update_info_from_vm_info(void);
|
|
void smartbox_opt_release(void);
|
|
|
|
//属于弹窗
|
|
void modify_bt_name_and_reset(u32 msec);
|
|
#endif
|