예제 #1
0
int mqttClient_connectUser(mqttClient_t* clientData, const char* password)
{
  int32_t rc = LE_OK;

  LE_ASSERT(clientData);
  LE_ASSERT(password);

  if (!clientData->session.isConnected)
  {
    LE_DEBUG("pw('%s')", password);
    strcpy(clientData->session.secret, password);

    if (!clientData->dataConnectionState)
    {
      clientData->dataConnectionState = le_data_AddConnectionStateHandler(mqttClient_dataConnectionStateHandler, clientData);
    }

    LE_DEBUG("initiated data connection");
    rc = mqttClient_connectData(clientData);
    if (rc)
    {
      LE_ERROR("mqttClient_connectData() failed(%d)", rc);
      goto cleanup;
    }
  }
  else
  {
    LE_KILL_CLIENT("The MQTT client is already connected");
  }

cleanup:
  return rc;
}
static int l_connectionRegisterHandler(lua_State *L)
{
    airvantage_handlerRef = le_data_AddConnectionStateHandler(ConnectionStateHandler, NULL);
    lua_pushstring(L, "ok");
    return 1;
}