ADTF File Library
Loading...
Searching...
No Matches
Referencedfiles

Table of Contents

Description

Example application which shows the usage of adtf_file::StandardReader and how to access adtf_file::ReferencedFilesExtension.

Usage

referencedfiles <adtfdat>

Source

#include <iostream> //std::cout, std::endl
#include <cstring> //std::string
//prototype to print referenced file paths
void print_referenced_files(std::vector<a_util::filesystem::Path> referencedfiles)
{
for (auto file : referencedfiles)
{
std::cout << " " << file.toString() << std::endl;
}
}
//main function
int main(int argc, char* argv[])
{
if (2 != argc)
{
std::cout << "usage: referencedfiles <adtfdat>\n" << std::endl;
return -1;
}
a_util::filesystem::Path filename = argv[1];
std::vector<a_util::filesystem::Path> referenced_files_list;
{
try
{
reader.open(filename.toString());
adtf_file::ReferencedFilesExtension referenced_files_ext(reader);
std::cout << "The original referenced files: " << std::endl;
referenced_files_list = referenced_files_ext.getFiles();
print_referenced_files(referenced_files_list);
}
catch (const std::exception& ex)
{
std::cout << ex.what() << std::endl;
}
}
a_util::filesystem::Path copy_extension_filename = filename.getParent().toString() + "copy";
{
adtf_file::ReferencedFilesExtension referenced_files_ext(referenced_files_list);
adtf_file::ADTFDatFileWriter writer(copy_extension_filename.toString(),
std::chrono::seconds(0),
referenced_files_ext.write(writer);
}
try
{
reader.open(copy_extension_filename.toString());
adtf_file::ReferencedFilesExtension referenced_files_ext(reader);
std::cout << "The copy referenced files: " << std::endl;
referenced_files_list = referenced_files_ext.getFiles();
print_referenced_files(referenced_files_list);
}
catch (const std::exception& ex)
{
std::cout << ex.what() << std::endl;
}
return 0;
}
ADTF File Reader to deserialze and read the content of a ADTF DAT File.
Definition adtf_file_reader.h:235
void open(const std::string &filename, std::shared_ptr< SampleFactory > sample_factory, std::shared_ptr< StreamTypeFactory > stream_type_factory) override
CTOR for a new Reader.
Default ADTF DAT File Writer to write an ADTF DAT File (IFHD file with ADTF type and sample content).
Definition adtf_file_writer.h:268
container for objects. this object container can be retrieved as objects singleton of the library via...
Definition object.h:48
Referenced File Extension Interpreter to hold a collection of file paths. This class is ables to read...
Definition file_extensions.h:31
Default container with all ADTF 3 StreamTypeSerializer provided by the ADTF File Library.
Definition standard_factories.h:96
void add_standard_objects()
Adds all default implementation objects provided by the ADTF File Library.
Definition standard_factories.h:130