#include "common.h"

bool start_work(ble_var_t *var)
{
    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 = var->adapter;
    if (adapter == NULL)
    {
        return false;
    }

    if (!adapter->enable)
    {
        return false;
    }
    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__);
    return true;
}
