跳转至

插件架构

OlivOS的插件架构拥有完整的事件抽象,可以基于事件完成接口的调用。

  *==============================================*
  |                                              |
  |                Cloud Platform                |
  |                                              |
  *==============================================*
     |                                        Ʌ
     |                                        |
     |                                        |
     |                                        |
     |     *===========*    *===========*     |
     |     |           |    |           |     |
     |     | Adapter A |    | Adapter B |     |
     |     |           |    |           |     |
     |     *===========*    *===========*     |
     |                                        |
     |     *============================*     |
     |     |                            |     |
     |     |         Adapter  C         |     |
     |     |                            |     |
     *-----|--> *======*    *======* ---|-----*
           |    |  RX  |    |  TX  |    |
     *-----|--- *======*    *======* <--|-----*
     |     |                            |     |
     |     *============================*     |
     |                                        |
     |                 ......                 |
     |                                        |
     |                                        |
     |  *==================================*  |
     |  |                                  |  |
     |  |       *==================*       |  |
     |  |       |                  | ------|--*
     |  |       |    TX  Router    |       |
     |  |       |                  | <--*  |
     |  |       *==================*    |  |
     |  |                               |  |
     |  |        OlivOS.API.Event       |  |
     |  |                               |  |
     |  *==================================*
     |                   |              |
     |                   |              |
     |  *==================================*
     |  |                |              |  |
     |  |                V              |  |
     |  |       *==================*    |  |
     *--|-----> |                  |    |  |
        |       |    RX  Router    |    |  |
        |  *--- |                  |    |  |
        |  |    *==================*    |  |
        |  |                            |  |
        |  |                            |  |
        |  |  OlivOS.pluginAPI.shallow  |  |
        |  |                            |  |
        |  |                            |  |
        |  |        *==========*        |  |
        |  | -----> | plugin A |        |  |
        |  |        *==========*        |  |
        |  |                            |  |
        |  |        *==========*        |  |
        |  | -----> | plugin B | -------*  |
        |  |        *==========*           |
        |  |                               |
        |  |        *==========*           |
        |  | -----> | plugin C |           |
        |  |        *==========*           |
        |  |                               |
        |  |          ...  ...             |
        |  V                               |
        |                                  |
        *==================================*