Exemple #1
0
/**
 * implement for adapter common method.
 */
CAResult_t CAEDRServerStart()
{
    if (!g_threadPoolHandle)
    {
        return CA_STATUS_NOT_INITIALIZED;
    }

    oc_mutex_lock(g_mutexStartServerState);
    if (g_isStartServer)
    {
        OIC_LOG(DEBUG, TAG, "server already started");
        oc_mutex_unlock(g_mutexStartServerState);
        return CA_STATUS_OK;
    }
    oc_mutex_unlock(g_mutexStartServerState);

    CAResult_t res = CAEDRServerStartAcceptThread();
    if (CA_STATUS_OK == res)
    {
        res = CAEDRStartReceiveThread(false);
        if (CA_STATUS_OK != res)
        {
            OIC_LOG(ERROR, TAG, "failed to start receive thread");
            CAEDRServerStop();
            return CA_STATUS_FAILED;
        }
        oc_mutex_lock(g_mutexStartServerState);
        g_isStartServer = true;
        oc_mutex_unlock(g_mutexStartServerState);
    }

    return res;
}
/**
 * implement for adapter common method.
 */
CAResult_t CAEDRServerStart()
{
    if (!g_threadPoolHandle)
    {
        return CA_STATUS_NOT_INITIALIZED;
    }

    CAEDRServerStartAcceptThread();
    CAResult_t res = CAEDRStartUnicastServer(false);
    if (CA_STATUS_OK != res)
    {
        OIC_LOG(ERROR, TAG, "CAEDRStartUnicastServer failed");
        CAEDRServerStop();
        return CA_STATUS_FAILED;
    }

    return res;
}
Exemple #3
0
CAResult_t CAStopEDR()
{
    OIC_LOG(DEBUG, EDR_ADAPTER_TAG, "IN");

    // Stop RFComm server if it is running
    CAEDRServerStop();

    // Stop network monitor
    CAEDRStopNetworkMonitor();

    // Stop the adapter
    CAEDRClientUnsetCallbacks();

    // Disconnect all the client connections
    CAEDRClientDisconnectAll();

    // Stop Send and receive Queue
    CAAdapterStopQueue();

    OIC_LOG(DEBUG, EDR_ADAPTER_TAG, "OUT");
    return CA_STATUS_OK;
}