Difference between revisions of "Truxton location save"

From truxwiki.com
Jump to navigation Jump to search
Line 16: Line 16:
  
 
=Remarks=
 
=Remarks=
After this call succeeds, the <code>[[truxton_location_get_id]]()</code>.
+
After this call succeeds, the <code>[[truxton_location_get_id]]()</code> function will return a valid [https://en.wikipedia.org/wiki/Universally_unique_identifier GUID] which corresponds to the <code>[ID]</code> column of the <code><nowiki>[</nowiki>[[Location Table|Location]]<nowiki>]</nowiki></code> table.
  
 
=Sample=
 
=Sample=
<source lang="C" highlight="5">
+
<source lang="C" highlight="19">
 
void new_location(uint64_t truxton, uint64_t file, double latitude, double longitude, double altitude, uint64_t when)
 
void new_location(uint64_t truxton, uint64_t file, double latitude, double longitude, double altitude, uint64_t when)
 
{
 
{

Revision as of 08:55, 26 January 2021

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