Difference between revisions of "Truxton communication get id"

From truxwiki.com
Jump to navigation Jump to search
(Created page with "This will retrieve the identifier of the message. It corresponds to the <code>[ID]</code> column of the <code>[Message]</code> table. =Syntax= <source lang="C"> int truxton_c...")
 
Line 21: Line 21:
  
 
=Sample=
 
=Sample=
<source lang="C" highlight="25" line>
+
<source lang="C" highlight="25">
 
#define TAG_ORIGIN_AUTOMATIC (1)
 
#define TAG_ORIGIN_AUTOMATIC (1)
 
#define TAG_ORIGIN_HUMAN    (2)
 
#define TAG_ORIGIN_HUMAN    (2)

Revision as of 05:46, 1 November 2022

This will retrieve the identifier of the message. It corresponds to the [ID] column of the [Message] table.

Syntax

int truxton_communication_get_id( uint64_t communication_handle, char * buffer, size_t buffer_size );

Parameters

communication_handle

The handle returned by calling truxton_communication_create.

buffer

The buffer to write the identifier to.

buffer_size

The number of bytes that can be written to buffer.

Return value

A non-zero value on success, zero on failure.

Sample

#define TAG_ORIGIN_AUTOMATIC (1)
#define TAG_ORIGIN_HUMAN     (2)

void add_message( uint64_t truxton, uint64_t parent_file )
{
   char id[40];
   char sender_id[80];

   uint64_t communication = truxton_communication_create( parent_file );

   uint64_t message_time = truxton_parse_time( "2021-07-29 21:52:53 UTC" );

   truxton_communication_set_received( communication, message_time );
   truxton_communication_set_sent( communication, message_time );
   truxton_communication_set_type( communication, MESSAGE_TYPE_MIME );
   truxton_communication_set_subject( communication, "Test Message" );

   if ( truxton_communication_save( communication ) == 0 )
   {
      printf( "Failed to add communication to Truxton\n" );
      truxton_communication_destroy( communication );
      return;
   }

   truxton_communication_get_id( parent_file, id, sizeof(id) );
   printf( "Saved as id %s\n", id );

   // Now that we have an id, we can add participants.

   if ( truxton_communication_add_participant( communication, MESSAGE_PARTICIPANT_FROM, "sam@abc.xyz", sender_id, sizeof(sender_id) ) == 0 )
   {
      printf( "Could not save FROM participant.\n" );
   }
   else
   {
      printf( "Sender id is %s\n", sender_id );
   }

   if ( truxton_communication_add_participant( communication, MESSAGE_PARTICIPANT_TO, "laura@abc.xyz", NULL, 0 ) == 0 )
   {
      printf( "Could not save TO participant.\n" );
   }

   uint64_t message_body_1 = create_message_body_1( truxton );
   uint64_t message_body_2 = create_message_body_2( truxton );
   uint64_t attachment_1 = create_attachment_1( truxton );
   uint64_t attachment_2 = create_attachment_2( truxton );

   if ( truxton_communication_add_piece( communication, message_body_1, ORIGIN_EMAIL_BODY, 1 ) == 0 )
   {
      printf( "Could not add first body to message.\n" );
   }

   if ( truxton_communication_add_piece( communication, message_body_1, ORIGIN_EMAIL_BODY, 2 ) == 0 )
   {
      printf( "Could not add second body to message.\n" );
   }

   if ( truxton_communication_add_piece( communication, attachment_1, ORIGIN_EMAIL_ATTACHMENT, 1 ) == 0 )
   {
      printf( "Could not add first attachment to message.\n" );
   }

   if ( truxton_communication_add_piece( communication, attachment_2, ORIGIN_EMAIL_ATTACHMENT, 2 ) == 0 )
   {
      printf( "Could not add second attachment to message.\n" );
   }

   if ( truxton_communication_finished( communication ) == 0 )
   {
      printf( "Could not complete message record.\n" );
   }

   if ( truxton_communication_tag( communication, "Man Made", "Testing the API", TAG_ORIGIN_HUMAN ) == 0 )
   {
      printf( "Could not tag message.\n" );
   }

   truxton_communication_destroy( communication );
}