#include "common.h"

bool start_work(ble_var_t *var)
{
    GList *list;
    for (list = g_list_first(var->ctrl_list); list; list = g_list_next(list))
    {
        struct adapter *adapter;
        ble_scanner_cfg_t *scan_cfg = NULL;
        ble_advertising_cfg_t *adv_cfg = NULL;
        ble_slave_cfg_t *slave_cfg = NULL;
        ble_gatt_server_cfg_t *server_cfg = NULL;

        adapter = list->data;
        if (adapter == NULL)
        {
            continue;
        }

        if (!adapter->enable)
        {
            continue;
        }
        scan_cfg = &adapter->scan_cfg;
        if (scan_cfg->enable)
        {
            start_scan(scan_cfg);
        }
        else
        {
            stop_scan(scan_cfg);
        }

        adv_cfg = &adapter->adv_cfg;
        start_advertise(adapter, adv_cfg);

        slave_cfg = &adapter->slave_cfg;
        start_connect(slave_cfg);

        server_cfg = &adapter->server_cfg;
        start_services(adapter, server_cfg);

        dy_syslog(LOG_DEBUG, "%s:%d\n", __FUNCTION__, __LINE__);
    }
}
