librime: rime::ConfigCompiler Class Reference

| librime 1.2 Rime Input Method Engine, the core library

Public Member Functions | Static Public Attributes | List of all members
rime::ConfigCompiler Class Reference

`#include <config_compiler.h>`

## Public Member Functions
| ConfigCompiler (ResourceResolver *resource_resolver, ConfigCompilerPlugin *plugin)
virtual | ~ConfigCompiler ()
Reference | CreateReference (const string &qualified_path)
void | AddDependency (an< Dependency > dependency)
void | Push (an< ConfigResource > resource)
void | Push (an< ConfigList > config_list, size_t index)
void | Push (an< ConfigMap > config_map, const string &key)
bool | Parse (const string &key, const an< ConfigItem > &item)
void | Pop ()
void | EnumerateResources (function< void(an< ConfigResource > resource)> process_resource)
an< ConfigResource > | GetCompiledResource (const string &resource_id) const
an< ConfigResource > | Compile (const string &file_name)
bool | Link (an< ConfigResource > target)
bool | blocking (const string &full_path) const
bool | pending (const string &full_path) const
bool | resolved (const string &full_path) const
vector< of< Dependency > > | GetDependencies (const string &path)
bool | ResolveDependencies (const string &path)

## Static Public Attributes
static constexpr const char * | INCLUDE_DIRECTIVE = "__include"
static constexpr const char * | PATCH_DIRECTIVE = "__patch"
static constexpr const char * | APPEND_DIRECTIVE = "__append"
static constexpr const char * | MERGE_DIRECTIVE = "__merge"

## Constructor & Destructor Documentation

## ◆ ConfigCompiler()

rime::ConfigCompiler::ConfigCompiler | ( | ResourceResolver * | resource_resolver,
|  | ConfigCompilerPlugin * | plugin )

## ◆ ~ConfigCompiler()

rime::ConfigCompiler::~ConfigCompiler | ( |  | ) |
| virtual

## Member Function Documentation

## ◆ AddDependency()

void rime::ConfigCompiler::AddDependency | ( | an< Dependency > | dependency | ) |

## ◆ blocking()

bool rime::ConfigCompiler::blocking | ( | const string & | full_path | ) | const

## ◆ Compile()

an< ConfigResource > rime::ConfigCompiler::Compile | ( | const string & | file_name | ) |

## ◆ CreateReference()

Reference rime::ConfigCompiler::CreateReference | ( | const string & | qualified_path | ) |

## ◆ EnumerateResources()

void rime::ConfigCompiler::EnumerateResources | ( | function< void(an< ConfigResource > resource)> | process_resource | ) |

## ◆ GetCompiledResource()

an< ConfigResource > rime::ConfigCompiler::GetCompiledResource | ( | const string & | resource_id | ) | const

## ◆ GetDependencies()

vector< of< Dependency > > rime::ConfigCompiler::GetDependencies | ( | const string & | path | ) |

## ◆ Link()

bool rime::ConfigCompiler::Link | ( | an< ConfigResource > | target | ) |

## ◆ Parse()

bool rime::ConfigCompiler::Parse | ( | const string & | key,
|  | const an< ConfigItem > & | item )

## ◆ pending()

bool rime::ConfigCompiler::pending | ( | const string & | full_path | ) | const

## ◆ Pop()

void rime::ConfigCompiler::Pop | ( |  | ) |

## ◆ Push() [1/3]

void rime::ConfigCompiler::Push | ( | an< ConfigList > | config_list,
|  | size_t | index )

## ◆ Push() [2/3]

void rime::ConfigCompiler::Push | ( | an< ConfigMap > | config_map,
|  | const string & | key )

## ◆ Push() [3/3]

void rime::ConfigCompiler::Push | ( | an< ConfigResource > | resource | ) |

## ◆ resolved()

bool rime::ConfigCompiler::resolved | ( | const string & | full_path | ) | const

## ◆ ResolveDependencies()

bool rime::ConfigCompiler::ResolveDependencies | ( | const string & | path | ) |

## Member Data Documentation

## ◆ APPEND_DIRECTIVE

const char* rime::ConfigCompiler::APPEND_DIRECTIVE = "__append"
| staticconstexpr

## ◆ INCLUDE_DIRECTIVE

const char* rime::ConfigCompiler::INCLUDE_DIRECTIVE = "__include"
| staticconstexpr

## ◆ MERGE_DIRECTIVE

const char* rime::ConfigCompiler::MERGE_DIRECTIVE = "__merge"
| staticconstexpr

## ◆ PATCH_DIRECTIVE

const char* rime::ConfigCompiler::PATCH_DIRECTIVE = "__patch"
| staticconstexpr

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

- config_compiler.h
- config_compiler.cc