Truxton file type create
Jump to navigation
Jump to search
This creates a file type object. You can use this to extend Truxton with new file types.
Syntax
uint64_t truxton_file_type_create( uint64_t truxton_handle );
Parameters
truxton_handle
The Truxton instance this file type will belong.
This handle comes from calling truxton_create().
Return value
A handle to a file type object.
Sample
void create_file_type( void )
{
uint64_t truxton = truxton_create();
uint64_t file_type = truxton_file_type_create( truxton );
truxton_file_type_set_short_name( file_type, "My Type" );
truxton_file_type_set_id( file_type, 11111 );
truxton_file_type_set_long_name( file_type, "A new custom type derived from XML" );
truxton_file_type_set_parent_id( file_type, Type_XML );
truxton_file_type_set_extension( file_type, "xm2" );
truxton_file_type_set_mime_type( file_type, "text/xml" );
if ( truxton_file_type_save( file_type ) == 0 )
{
printf( "Cannot save file type to the database.\n" );
}
uint64_t new_id = truxton_file_type_get_id( file_type );
if ( new_id == 0 )
{
printf( "Failed to create new file type\n" );
}
else
{
printf( "Created new file type as id %" PRIu64 "\n", new_id );
}
truxton_file_type_destroy( file_type );
truxton_destroy( truxton );
}
The PRIu64 in the sample code above is a standard way of formatting a 64-bit unsigned integer in C.
Over the years, different compilers on different operating systems used different format specifiers for things, these PRI macros, along with some tricky string concatenation the compilers perform for you, allow you to maintain a single code base without a bunch of macro magic.