Conscience Core
Public Member Functions | Static Public Member Functions | List of all members
conscience_core::bridging::commands::metadata::CscCommandMetadataBuilder Class Reference

#include <CscCommandMetadataBuilder.h>

Public Member Functions

void generateAllCommandMetadataFromCommandHeadersDir (const fs::path &commandsDir, const vector< fs::path > &excludedHeaderFiles, const optional< fs::path > &cachePath={})
 
void generateCommandMetadataFromCommandHeaders (const vector< fs::path > &commandsHeaders, const vector< fs::path > &excludedHeaderFiles, const optional< fs::path > &cachePath={})
 
vector< fs::path > restoreCommandMetadataFromCacheFile (const fs::path &cacheFile)
 
CscCommandMetadataBuilderResultgenerateCommandMetadataForHeader (const fs::path &headerPath, CscCommandMetadataCacheBuilder *cacheBuilder=nullptr)
 
 CscCommandMetadataBuilder ()
 
virtual ~CscCommandMetadataBuilder ()
 

Static Public Member Functions

static CscCommandMetadataBuildergetInstance ()
 

Detailed Description

Conscience's Command module requires knowing metadata of available commands. It requires knowledge of their inputs types / output types and other side metadata like COMMAND_ID In order to collect such metadata, this metadata builder will rely on command header files (.h / .hpp) It will parse command headers and retrieve :

See also
CscCommandMetadataCacheBuilder
CscCommandDataTypeNodeMetadata
CscCommandDataTypeMetadata

Constructor & Destructor Documentation

◆ CscCommandMetadataBuilder()

conscience_core::bridging::commands::metadata::CscCommandMetadataBuilder::CscCommandMetadataBuilder ( )

◆ ~CscCommandMetadataBuilder()

conscience_core::bridging::commands::metadata::CscCommandMetadataBuilder::~CscCommandMetadataBuilder ( )
virtual

Member Function Documentation

◆ generateAllCommandMetadataFromCommandHeadersDir()

void conscience_core::bridging::commands::metadata::CscCommandMetadataBuilder::generateAllCommandMetadataFromCommandHeadersDir ( const fs::path &  commandsDir,
const vector< fs::path > &  excludedHeaderFiles,
const optional< fs::path > &  cachePath = {} 
)
Parameters
commandsDircommand headers to be parsed
excludedHeaderFilescommand headers to be ignored
cachePathif not empty, cache will be read from this file, and refreshed with new commands metadata

◆ generateCommandMetadataForHeader()

CscCommandMetadataBuilderResult * conscience_core::bridging::commands::metadata::CscCommandMetadataBuilder::generateCommandMetadataForHeader ( const fs::path &  headerPath,
CscCommandMetadataCacheBuilder cacheBuilder = nullptr 
)

◆ generateCommandMetadataFromCommandHeaders()

void conscience_core::bridging::commands::metadata::CscCommandMetadataBuilder::generateCommandMetadataFromCommandHeaders ( const vector< fs::path > &  commandsHeaders,
const vector< fs::path > &  excludedHeaderFiles,
const optional< fs::path > &  cachePath = {} 
)
Parameters
commandsHeaderscommand headers to be parsed
excludedHeaderFilescommand headers to be ignored
cachePathif not empty, cache will be read from this file, and refreshed with new commands metadata

◆ getInstance()

CscCommandMetadataBuilder * conscience_core::bridging::commands::metadata::CscCommandMetadataBuilder::getInstance ( )
static

◆ restoreCommandMetadataFromCacheFile()

vector< fs::path > conscience_core::bridging::commands::metadata::CscCommandMetadataBuilder::restoreCommandMetadataFromCacheFile ( const fs::path &  cacheFile)
Returns
unmodified header files

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