Truxton location save

From truxwiki.com
Jump to navigation Jump to search

This will commit the data in the location object to the database. It will write a record to the [Location] table.

Syntax

int truxton_location_save( uint64_t location );

Parameters

location

The handle to the location object. This handle comes from calling truxton_location_create() or truxton_child_file_create_location().

Return value

A non-zero value on success, zero on failure.

Remarks

After this call succeeds, the truxton_location_get_id() function will return a valid GUID which corresponds to the [ID] column of the [Location] table.

Sample

void new_location( uint64_t truxton, uint64_t file, double latitude, double longitude, double altitude, uint64_t when )
{
   char guid_string[ 40 ];

   uint64_t location = truxton_location_create( truxton );

   truxton_file_get_id( file, guid_string, sizeof( guid_string ) );
   truxton_location_set_file_id( location, guid_string );

   truxton_file_get_media_id( file, guid_string, sizeof( guid_string ) );
   truxton_location_set_media_id( location, guid_string );

   truxton_location_set_latitude( location, latitude );
   truxton_location_set_longitude( location, longitude );
   truxton_location_set_altitude( location, altitude );
   truxton_location_set_when( location, when );
   truxton_location_set_type( location, LOCATION_TYPE_EXIF );

   if ( truxton_location_save() == 0 )
   {
      printf( "Failed to create new location\n" );
   }
   else
   {
      truxton_location_get_id( location, guid_string, sizeof( guid_string ) );
      printf( "Created new location as id %s\n", guid_string );
   }

   truxton_location_destroy( location );
}