Truxton relation set source id

From truxwiki.com
Jump to navigation Jump to search

This sets the origin of the relation. Relationships don't just happen, you have to work at them. The source of a relation is the object that contained the information from which the relationship was deduced. This corresponds to the [SourceID] column of the the [Relation] table in the database.

Syntax

void truxton_relation_set_source_id( uint64_t relation_handle, char const * id );

Parameters

relation_handle

The relation object. This handle comes from calling truxton_relation_create().

id

The string representation of a GUID. This value is an identifier of an object in Truxton.

Sample

void set_primary_photo( uint64_t truxton, uint64_t media, uint64_t child_file )
{
   char media_id[ 65 ];
   char file_id[ 65 ];
   
   truxton_media_get_id( media, media_id, sizeof( media_id ) );
   truxton_child_file_get_id( child_file, file_id, sizeof( file_id ) );

   uint64_t relation = truxton_relation_create( truxton );

   // Now tell Truxton that child_file (A object) is the primary photo of media (B object)
   truxton_relation_set_relation( relation, RELATION_PRIMARY_PHOTO );

   // Set the A object, A is a file
   truxton_relation_set_a_id( relation, file_id );
   truxton_relation_set_a_type( relation, OBJECT_TYPE_FILE );

   // Set the B object, B is a piece of media
   truxton_relation_set_b_id( relation, media_id );
   truxton_relation_set_b_type( relation, OBJECT_TYPE_MEDIA );

   // Set the source object, source is a piece of media
   truxton_relation_set_source_id( relation, media_id );
   truxton_relation_set_source_type( relation, OBJECT_TYPE_MEDIA );

   // Commit the data to the database
   truxton_relation_save( relation );
   truxton_relation_destroy( relation );
}