Truxton file type save
This will commit the data in the file type object to the database.
It will write a record to the [FileType] table.
Syntax
int truxton_file_type_save( uint64_t file_type );
Parameters
file_type
The handle to the file type object.
This handle comes from calling truxton_file_type_create().
Return value
A non-zero value on success, zero on failure.
Remarks
This API will commit the file type to the database.
If you did not call truxton_file_type_set_id(), this api will find an unused value for the identifier and store it.
You can retrieve the automatically generated value by calling truxton_file_type_get_id().
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_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.