in mxdevice/Device/MXDeviceDemo.ino [75:110]
static int deviceMethodCallback(const char *methodName, const unsigned char *payload, int size, unsigned char **response, int *response_size)
{
LogInfo("Try to invoke method %s", methodName);
const char *responseMessage = "\"Successfully invoke device method\"";
int result = 200;
if (strcmp(methodName, DIRECT_METHOD_NAME) == 0)
{
messageReceived = true;
char *temp = (char *)malloc(size + 1);
memcpy(temp, payload, size);
temp[size] = '\0';
if (temp != NULL)
{
Screen.init();
Screen.print(0, "NEW MESSAGE!");
Screen.print(2, temp);
}
free(temp);
}
else
{
LogInfo("No method %s found", methodName);
responseMessage = "\"No method found\"";
result = 404;
}
*response_size = strlen(responseMessage);
*response = (unsigned char *)malloc(*response_size);
strncpy((char *)(*response), responseMessage, *response_size);
return result;
}