Difference between revisions of "Truxton location save"

From truxwiki.com
Jump to navigation Jump to search
 
(One intermediate revision by the same user not shown)
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 )
 
{
 
{
 
   char guid_string[ 40 ];
 
   char guid_string[ 40 ];
  
   uint64_t location = truxton_location_create(truxton);
+
   uint64_t location = truxton_location_create( truxton );
  
 
   truxton_file_get_id( file, guid_string, sizeof( guid_string ) );
 
   truxton_file_get_id( file, guid_string, sizeof( guid_string ) );
Line 48: Line 48:
 
   }
 
   }
  
   truxton_location_destroy(location);
+
   truxton_location_destroy( location );
 
}
 
}
 
</source>
 
</source>

Latest revision as of 06:51, 10 February 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 );
}