63 lines
2.4 KiB
C
63 lines
2.4 KiB
C
#include "qcloud.h"
|
|
|
|
#if (QCLOUD_CFG_AUTH_MODE == QCLOUD_AUTH_MODE_CERT)
|
|
|
|
__QCLOUD_API__ qcloud_err_t qcloud_device_create(qcloud_device_t *device,
|
|
const char *product_id,
|
|
const char *device_name,
|
|
const char *cert_path,
|
|
const char *priv_key_path)
|
|
{
|
|
QCLOUD_POINTER_SANITY_CHECK(device, QCLOUD_ERR_DEV_INFO);
|
|
QCLOUD_POINTER_SANITY_CHECK(product_id, QCLOUD_ERR_DEV_INFO);
|
|
QCLOUD_POINTER_SANITY_CHECK(device_name, QCLOUD_ERR_DEV_INFO);
|
|
QCLOUD_POINTER_SANITY_CHECK(cert_path, QCLOUD_ERR_DEV_INFO);
|
|
QCLOUD_POINTER_SANITY_CHECK(priv_key_path, QCLOUD_ERR_DEV_INFO);
|
|
|
|
if (strlen(product_id) > QCLOUD_DEVICE_PRODUCT_ID_MAX ||
|
|
strlen(device_name) > QCLOUD_DEVICE_DEVICE_NAME_MAX ||
|
|
strlen(cert_path) > QCLOUD_PATH_MAX ||
|
|
strlen(priv_key_path) > QCLOUD_PATH_MAX) {
|
|
return QCLOUD_ERR_DEV_INFO;
|
|
}
|
|
|
|
device->product_id = product_id;
|
|
device->device_name = device_name;
|
|
device->cert_path = cert_path;
|
|
device->priv_key_path = priv_key_path;
|
|
|
|
QCLOUD_LOG_I("SDK version: %s, product ID: %s, device name: %s", QCLOUD_SDK_VERSION, product_id, device_name);
|
|
|
|
return QCLOUD_ERR_SUCCESS;
|
|
}
|
|
|
|
#else
|
|
|
|
__QCLOUD_API__ qcloud_err_t qcloud_device_create(qcloud_device_t *device,
|
|
const char *product_id,
|
|
const char *device_name,
|
|
const char *key)
|
|
{
|
|
QCLOUD_POINTER_SANITY_CHECK(device, QCLOUD_ERR_DEV_INFO);
|
|
QCLOUD_POINTER_SANITY_CHECK(product_id, QCLOUD_ERR_DEV_INFO);
|
|
QCLOUD_POINTER_SANITY_CHECK(device_name, QCLOUD_ERR_DEV_INFO);
|
|
QCLOUD_POINTER_SANITY_CHECK(key, QCLOUD_ERR_DEV_INFO);
|
|
|
|
if (strlen(product_id) > QCLOUD_DEVICE_PRODUCT_ID_MAX ||
|
|
strlen(device_name) > QCLOUD_DEVICE_DEVICE_NAME_MAX ||
|
|
strlen(key) > QCLOUD_DEVICE_KEY_MAX) {
|
|
return QCLOUD_ERR_DEV_INFO;
|
|
}
|
|
|
|
device->product_id = product_id;
|
|
device->device_name = device_name;
|
|
device->key = key;
|
|
|
|
QCLOUD_LOG_I("SDK version: %s, product ID: %s, device name: %s", QCLOUD_SDK_VERSION, product_id, device_name);
|
|
|
|
return QCLOUD_ERR_SUCCESS;
|
|
}
|
|
|
|
#endif
|
|
|