NDEVR
API Documentation
APIDirectoryManager

Collects headers, libraries, DLLs, and resources from source and output directories and assembles them into an API distribution folder. More...

Collaboration diagram for APIDirectoryManager:
[legend]

Public Member Functions

bool createAPIDirectory (const File &api_dir, bool override_existing, LogPtr log)
 Writes all collected resources to the target API directory.
bool grabFromOutput (const File &output_directory, bool include_libs, LogPtr log)
 Collects DLLs and optionally libraries from the build output directory.
bool grabFromQT (const File &qt_directory, LogPtr log)
 Collects required Qt runtime files.
bool grabFromSource (const File &source_directory, bool grab_headers, LogPtr log)
 Collects headers and resources from the source directory.
bool grabODA (const File &source_directory, bool output_to_api, LogPtr log)
 Collects ODA (Open Design Alliance) dependencies.
bool grabRCC (const File &output_directory, bool output_to_api, LogPtr log)
 Collects RCC (Qt Resource Compiler) outputs.
bool grabVLC (const File &source_directory, bool output_to_api, LogPtr log)
 Collects VLC dependencies.

Static Public Member Functions

static File FindFile (const StringView &resource, const File &directory, const StringView &extension)
 Locates a file by name within a directory, using the given extension filter.
static Buffer< StringViewGetAPIProjects (bool headers)
 Returns the list of module project names that belong to the API.
static Buffer< StringGetOutputDirResources (bool debug)
 Returns the list of output directory resource file names.
static Buffer< StringViewGetQTResources ()
 Returns the list of Qt resource names (view version).
static Buffer< StringGetQTResources (bool debug)
 Returns the list of Qt resource file names for a given configuration.
static Buffer< StringViewGetSourceResources ()
 Returns the list of source resource names to include in the API.

Public Attributes

Buffer< APIResourcedebug_dlls
 Collected debug .dll files.
String debug_exe_path = String("/VS/x64/Debug/")
 Relative path to debug executables.
Buffer< APIResourcedebug_libs
 Collected debug .lib files.
Buffer< APIResourceheaders
 Collected header files.
Buffer< APIResourceqt_resources
 Collected Qt runtime resources.
Buffer< APIResourcerelease_dlls
 Collected release .dll files.
String release_exe_path = String("/VS/x64/Release/")
 Relative path to release executables.
Buffer< APIResourcerelease_libs
 Collected release .lib files.
Buffer< APIResourceresources
 Collected non-header resources.

Detailed Description

Collects headers, libraries, DLLs, and resources from source and output directories and assembles them into an API distribution folder.

Definition at line 15 of file APIDirectoryManager.h.

Member Function Documentation

◆ createAPIDirectory()

bool APIDirectoryManager::createAPIDirectory ( const File & api_dir,
bool override_existing,
LogPtr log )

Writes all collected resources to the target API directory.

Parameters
[in]api_dirThe destination API directory.
[in]override_existingWhether to overwrite existing files.
[in]logLog for status messages.
Returns
True on success.

◆ FindFile()

File APIDirectoryManager::FindFile ( const StringView & resource,
const File & directory,
const StringView & extension )
static

Locates a file by name within a directory, using the given extension filter.

Parameters
[in]resourceThe resource name to search for.
[in]directoryThe directory to search in.
[in]extensionThe file extension to match.
Returns
The located File, or an invalid File if not found.

◆ GetAPIProjects()

Buffer< StringView > APIDirectoryManager::GetAPIProjects ( bool headers)
static

Returns the list of module project names that belong to the API.

Parameters
[in]headersWhether to return header-only projects.
Returns
A buffer of project name views.

References headers.

◆ GetOutputDirResources()

Buffer< String > APIDirectoryManager::GetOutputDirResources ( bool debug)
static

Returns the list of output directory resource file names.

Parameters
[in]debugWhether to return debug or release resources.
Returns
A buffer of resource file name strings.

◆ GetQTResources() [1/2]

Buffer< StringView > APIDirectoryManager::GetQTResources ( )
static

Returns the list of Qt resource names (view version).

Returns
A buffer of Qt resource name views.

◆ GetQTResources() [2/2]

Buffer< String > APIDirectoryManager::GetQTResources ( bool debug)
static

Returns the list of Qt resource file names for a given configuration.

Parameters
[in]debugWhether to return debug or release Qt resources.
Returns
A buffer of Qt resource file name strings.

◆ GetSourceResources()

Buffer< StringView > APIDirectoryManager::GetSourceResources ( )
static

Returns the list of source resource names to include in the API.

Returns
A buffer of resource name views.

◆ grabFromOutput()

bool APIDirectoryManager::grabFromOutput ( const File & output_directory,
bool include_libs,
LogPtr log )

Collects DLLs and optionally libraries from the build output directory.

Parameters
[in]output_directoryThe root output directory.
[in]include_libsWhether to include .lib files alongside DLLs.
[in]logLog for status messages.
Returns
True on success.

◆ grabFromQT()

bool APIDirectoryManager::grabFromQT ( const File & qt_directory,
LogPtr log )

Collects required Qt runtime files.

Parameters
[in]qt_directoryThe Qt installation directory.
[in]logLog for status messages.
Returns
True on success.

◆ grabFromSource()

bool APIDirectoryManager::grabFromSource ( const File & source_directory,
bool grab_headers,
LogPtr log )

Collects headers and resources from the source directory.

Parameters
[in]source_directoryThe root source directory.
[in]grab_headersWhether to collect header files.
[in]logLog for status messages.
Returns
True on success.

◆ grabODA()

bool APIDirectoryManager::grabODA ( const File & source_directory,
bool output_to_api,
LogPtr log )

Collects ODA (Open Design Alliance) dependencies.

Parameters
[in]source_directoryThe directory containing ODA files.
[in]output_to_apiWhether to output to the API directory structure.
[in]logLog for status messages.
Returns
True on success.

◆ grabRCC()

bool APIDirectoryManager::grabRCC ( const File & output_directory,
bool output_to_api,
LogPtr log )

Collects RCC (Qt Resource Compiler) outputs.

Parameters
[in]output_directoryThe directory containing RCC files.
[in]output_to_apiWhether to output to the API directory structure.
[in]logLog for status messages.
Returns
True on success.

◆ grabVLC()

bool APIDirectoryManager::grabVLC ( const File & source_directory,
bool output_to_api,
LogPtr log )

Collects VLC dependencies.

Parameters
[in]source_directoryThe directory containing VLC files.
[in]output_to_apiWhether to output to the API directory structure.
[in]logLog for status messages.
Returns
True on success.

The documentation for this class was generated from the following file: