Truxton relation set a type

From truxwiki.com
Jump to navigation Jump to search

This sets the type of the object on A side of the relation in the sentence "A is a blank of B." This corresponds to the [A_ObjectTypeID] column of the the [Relation] table in the database.

Syntax

void truxton_relation_set_a_type( uint64_t relation_handle, uint64_t type );

Parameters

relation_handle

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

type

The type of the object. It should be one of the defined constants, it will be stored in the [A_ObjectTypeID] column of the [Relation] table. This value should be one of the values from the [ID] column of the [ObjectType] reference table in the database.

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