cloud/dps_demo/dps_demo_cli_variables.c
/*******************************************************************************
* # License
* Copyright 2019 Silicon Laboratories Inc. www.silabs.com
*******************************************************************************
*
* The licensor of this software is Silicon Laboratories Inc. Your use of this
* software is governed by the terms of Silicon Labs Master Software License
* Agreement (MSLA) available at
* www.silabs.com/about-us/legal/master-software-license-agreement. This
* software is distributed to you in Source Code format and is governed by the
* sections of the MSLA applicable to Source Code.
*
******************************************************************************/
#include "gos.h"
#include "dps_demo_common.h"
/******************************************************************************
* Hostname or IP address of the broker/server
*/
GOS_DEFINE_GETTER(dps, hostname)
{
return GOS_CMD_SUCCESS;
}
GOS_DEFINE_SETTER(dps, hostname)
{
if(strlen(argv[1]) > sizeof(dps_settings->hostname))
{
}
else
{
strcpy((char*)dps_settings->hostname, argv[1]);
}
}
/******************************************************************************
* Port of the provisioning server/broker
*/
GOS_DEFINE_GETTER(dps, port)
{
return GOS_CMD_SUCCESS;
}
GOS_DEFINE_SETTER(dps, port)
{
GOS_CMD_PARSE_INT_ARG_WITH_VAR(uint16_t, dps_settings->port, argv[1], 0, 65535);
return GOS_CMD_SET_OK;
}
/******************************************************************************
* DMS connector code
*/
GOS_DEFINE_GETTER(dps, connector)
{
return GOS_CMD_SUCCESS;
}
GOS_DEFINE_SETTER(dps, connector)
{
if(strlen(argv[1]) > sizeof(dps_settings->connector))
{
return GOS_CMD_BAD_ARGS;
}
else
{
strcpy((char*)dps_settings->connector, argv[1]);
return GOS_CMD_SET_OK;
}
}
/******************************************************************************
* CA cert filename
*/
GOS_DEFINE_GETTER(dps, ca_cert)
{
return GOS_CMD_SUCCESS;
}
GOS_DEFINE_SETTER(dps, ca_cert)
{
if(strlen(argv[1]) > sizeof(dps_settings->ca_cert))
{
return GOS_CMD_BAD_ARGS;
}
else
{
strcpy((char*)dps_settings->ca_cert, argv[1]);
return GOS_CMD_SET_OK;
}
}
/******************************************************************************
* Device/client key filename
*/
GOS_DEFINE_GETTER(dps, key_filename)
{
return GOS_CMD_SUCCESS;
}
GOS_DEFINE_SETTER(dps, key_filename)
{
if(strlen(argv[1]) > sizeof(dps_settings->key_filename))
{
return GOS_CMD_BAD_ARGS;
}
else
{
strcpy((char*)dps_settings->key_filename, argv[1]);
return GOS_CMD_SET_OK;
}
}
/******************************************************************************
* Device/client certificate filename
*/
GOS_DEFINE_GETTER(dps, cert_filename)
{
return GOS_CMD_SUCCESS;
}
GOS_DEFINE_SETTER(dps, cert_filename)
{
if(strlen(argv[1]) > sizeof(dps_settings->cert_filename))
{
return GOS_CMD_BAD_ARGS;
}
else
{
strcpy((char*)dps_settings->cert_filename, argv[1]);
return GOS_CMD_SET_OK;
}
}