SDK开发说明

SDK UI线程框架


UI刷新说明

如果在其他线程里面更新UI元素,请使用qmsd_ui_lock和qmsd_ui_unlock进行上锁操作,防止和UI线程相互操作,如果在UI线程内部则可以直接调用API进行更新

if (qmsd_gui_lock(portMAX_DELAY) == 0) {
    // update ui
    qmsd_ui_unlock();
}

DEMO目录说明


通知链(notifier)

API

目前qmsd_api大多数API都使用了通知链来通知事件。

  1. 初始化

int qmsd_notifier_init(void)

注意:qmsd_mod_init会调用qmsd_notifier_init,进行初始化

  1. 反初始化

int qmsd_notifier_uninit(void)
  1. 注册cb

int qmsd_notifier_register(struct qmsd_notifier_block *n)
  1. 注销cb

int qmsd_notifier_unregister(struct qmsd_notifier_block *n)
  1. 不加锁调用(由于目前基本注册cb只有一次,所以建议用这个函数)

int qmsd_notifier_call_nolock(unsigned int action, void *v)
  1. 加锁调用

int qmsd_notifier_call(unsigned int action, void *v)