Difference between revisions of "Truxton child file end write"

From truxwiki.com
Jump to navigation Jump to search
Line 2: Line 2:
  
 
=Syntax=
 
=Syntax=
<syntaxhighlight lang="C">
+
<source lang="C">
 
void truxton_child_file_end_write( uint64_t child_handle );
 
void truxton_child_file_end_write( uint64_t child_handle );
</syntaxhighlight>
+
</source>
  
 
=Parameters=
 
=Parameters=
 
==<code>child_handle</code>==
 
==<code>child_handle</code>==
 
 
The handle created by the [[truxton_child_file_create]] call.
 
The handle created by the [[truxton_child_file_create]] call.
  
 
=Remarks=
 
=Remarks=
 
 
If the [[truxton_child_file_set_modified | modified]] time was not set on the file prior to writing, the modified timestamp will be set to when the current time.
 
If the [[truxton_child_file_set_modified | modified]] time was not set on the file prior to writing, the modified timestamp will be set to when the current time.
 
If the [[truxton_child_file_set_size | file size]] was not set on the file prior to writing, it will be set to the total number of byte written to the file.
 
If the [[truxton_child_file_set_size | file size]] was not set on the file prior to writing, it will be set to the total number of byte written to the file.
  
 
=Sample=
 
=Sample=
 
+
<source lang="C" highlight="35">
<syntaxhighlight lang="C" highlight="35">
 
 
void add_text(uint64_t truxton, uint64_t parent_file)
 
void add_text(uint64_t truxton, uint64_t parent_file)
 
{
 
{
Line 34: Line 31:
 
   FILETIME now;
 
   FILETIME now;
  
   GetSystemTimeAsFileTime(&now);
+
   GetSystemTimePreciseAsFileTime(&now);
  
 
   ULARGE_INTEGER ticks;
 
   ULARGE_INTEGER ticks;
Line 62: Line 59:
 
   truxton_child_file_destroy(child);
 
   truxton_child_file_destroy(child);
 
}
 
}
</syntaxhighlight>
+
</source>

Revision as of 05:48, 13 November 2020

This API tells Truxton that you are finished writing contents.

Syntax

void truxton_child_file_end_write( uint64_t child_handle );

Parameters

child_handle

The handle created by the truxton_child_file_create call.

Remarks

If the modified time was not set on the file prior to writing, the modified timestamp will be set to when the current time. If the file size was not set on the file prior to writing, it will be set to the total number of byte written to the file.

Sample

void add_text(uint64_t truxton, uint64_t parent_file)
{
   truxton_start_adding_files(truxton);

   uint64_t child = truxton_child_file_create(truxton);

   char id[40];

   truxton_file_get_id(parent_file, id, sizeof(id));
   truxton_child_file_set_parent_id(child, id);
   truxton_child_file_set_type(child, Type_ASCII_Text);
   truxton_child_file_set_name(child, "Hi.txt");

   FILETIME now;

   GetSystemTimePreciseAsFileTime(&now);

   ULARGE_INTEGER ticks;

   ticks.LowPart = now.dwLowDateTime;
   ticks.HighPart = now.dwHighDateTime;

   truxton_child_file_set_created(child, ticks.QuadPart);
   truxton_child_file_set_accessed(child, ticks.QuadPart);
   truxton_child_file_set_modified(child, ticks.QuadPart);

   truxton_child_file_set_origin(child, ORIGIN_GENERATED);

   truxton_child_file_begin_write(child);

   char * message = "Hello World\n";

   truxton_child_file_write( child, message, strlen(message));

   truxton_child_file_end_write( child );

   if ( truxton_child_file_save(child) == 0 )
   {
      printf( "Failed to add child to Truxton\n" );
   }

   truxton_child_file_destroy(child);
}