Truxton etl add desired file type

From truxwiki.com
Jump to navigation Jump to search

This is how you programmatically tell Truxton what types of files you want to process. It will cause Truxton to write records to the [ETLRoute] table. A new record will be added (if one does not already exist) with the [ETLQueueName] column set to this ETL's queue name and the [FileTypeID] column set to the file type specified in this function call.

Syntax

void truxton_etl_add_desired_file_type( uint64_t etl_handle, uint16_t file_type );

Parameters

etl_handle

The handle created by the truxton_etl_create call.

file_type

The type of file you'd like to process.

Sample

#include <TruxtonCAPI.h>

void main( void )
{
    char file_id[ 65 ];

    uint64_t message = 0;
    uint64_t app = truxton_etl_create();

    truxton_etl_set_application_name( app, "Sample C ETL" );
    truxton_etl_set_stage_number( app, 42 );
    truxton_etl_set_queue_name( app, "SampleC" );

    truxton_etl_add_desired_file_type( app, Type_JPEG );
    truxton_etl_add_desired_file_type( app, Type_JPEGWithExif );

    // Pause here until we get a message from the "SampleC" message queue
    message = truxton_etl_get_message( app );

    while( message != 0 )
    {
        // Do something with the message

        memset( file_id, 0x00, sizeof( file_id ) );
        truxton_message_get_file_id( message, file_id, sizeof( file_id ) );

        printf( "Received file id %s\n", file_id );

        truxton_message_destroy( message );

        // Pause here until we get another message from the "SampleC" message queue
        message = truxton_etl_get_message( app );
    }


    truxton_etl_destroy( app );
}