IOTHUBMESSAGE_DISPOSITION_RESULT receiveMessageCallback()

in docker_images/c/wrapper/glue/InternalGlue.cpp [225:252]


IOTHUBMESSAGE_DISPOSITION_RESULT receiveMessageCallback(IOTHUB_MESSAGE_HANDLE message, void *userContextCallback)
{
    std::cout << "receiveMessageCallback called" << std::endl;
    message_response_struct *response = (message_response_struct *)userContextCallback;
    const char *str = IoTHubMessage_GetString(message);
    if (str)
    {
        response->response_string = str;
    }
    else
    {
        const unsigned char *buffer;
        size_t size;
        IOTHUB_MESSAGE_RESULT ret = IoTHubMessage_GetByteArray(message, &buffer, &size);
        if (ret == IOTHUB_MESSAGE_OK)
        {
            response->response_string.assign((const char *)buffer, size);
        }
        else
        {
            response->response_string = std::string("WARNING: IoTHubMessage_GetByteArray returned ") + MU_ENUM_TO_STRING(IOTHUB_MESSAGE_RESULT, ret);
            std::cout << response->response_string << std::endl;
        }
    }
    std::cout << "string == " << response->response_string << std::endl;
    response->cv.notify_one();
    return IOTHUBMESSAGE_ACCEPTED;
}