Truxton location create

From truxwiki.com
Jump to navigation Jump to search

This creates a location object. This corresponds to the [Location] table.

Syntax

uint64_t truxton_location_create( uint64_t truxton_handle );

Parameters

truxton_handle

The Truxton instance this location will belong. This handle comes from calling truxton_create().

Return value

A handle to a location object.

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