Truxton file type save

From truxwiki.com
Revision as of 09:37, 26 January 2021 by Sam (talk | contribs) (→‎Sample)
Jump to navigation Jump to search

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 );
}