/**
 * @brief Converts a product ID in product name
 * This function is the only one knowing the correspondance
 * between the products' IDs and the product names.
 * @param product The product ID
 * @return The corresponding product name
 */
JNIEXPORT jstring JNICALL
Java_com_parrot_arsdk_ardiscovery_ARDiscoveryService_nativeGetProductName (JNIEnv *env, jclass thizz, int product)
{
    const char *nativeName;
    jstring jName = NULL;

    nativeName = ARDISCOVERY_getProductName (product);

    if (nativeName != NULL)
    {
        jName = (*env)->NewStringUTF(env, nativeName);
    }

    return jName;
}
void ARDISCOVERY_getProductPathName(eARDISCOVERY_PRODUCT product, char *buffer, int length)
{
    if ((buffer == NULL) || (length <= 0))
    {
        return;
    }

    if (product < ARDISCOVERY_PRODUCT_MAX)
    {
        const char *name = ARDISCOVERY_getProductName(product);
        int nameLen = strlen(name);
        char *index;

        if (length > nameLen)
        {
            strncpy(buffer, name, nameLen + 1);
            index = buffer;
            while (*index != '\0')
            {
                if (*index == '.' ||
                    *index == ' ')
                {
                    *index = '_';
                }
                index++;
            }
        }
        else
        {
            *buffer = '\0';
        }
    }
    else
    {
        ARSAL_PRINT(ARSAL_PRINT_ERROR, ARDISCOVERY_DISCOVERY_TAG,
                    "Unknown product : %d", product);
    }
}
예제 #3
0
void ARDISCOVERY_getProductPathName(eARDISCOVERY_PRODUCT product, char *buffer, int length)
{
    if ((buffer != NULL) && (length > 0))
    {
        const char *name = ARDISCOVERY_getProductName(product);
        int nameLen = strlen(name);
        char *index;
        
        if (length > nameLen)
        {
            strncpy(buffer, name, nameLen + 1);
            index = buffer;
            while ((index = strstr(index, " ")) != NULL)
            {
                *index = '_';
                index++;
            }
        }
        else
        {
            *buffer = '\0';
        }
    }
}