6
int rccEngineInit(rcc_engine_context *engine_ctx, rcc_context *ctx) {
7
if ((!ctx)||(!engine_ctx)) return -1;
10
engine_ctx->free_func = NULL;
11
engine_ctx->func = NULL;
15
void rccFreeEngine(rcc_engine_context *engine_ctx) {
16
if (!engine_ctx) return;
18
if (engine_ctx->free_func) {
19
engine_ctx->free_func(engine_ctx);
20
engine_ctx->free_func = NULL;
23
engine_ctx->func = NULL;
24
engine_ctx->internal = NULL;
27
int rccEngineConfigure(rcc_engine_context *ctx) {
28
rcc_language_id language_id;
29
rcc_engine_id engine_id;
32
if ((!ctx)||(!ctx->ctx)) return -1;
36
language_id = rccGetCurrentLanguage(ctx->ctx);
37
if (language_id<0) return -1;
39
engine_id = rccGetCurrentEngine(ctx->ctx);
40
if (engine_id<0) return -1;
42
engine = ctx->ctx->languages[language_id]->engines[engine_id];
44
ctx->free_func = engine->free_func;
45
ctx->func = engine->func;
46
ctx->language = ctx->languages[language_id];
48
ctx->internal = engine->init_func(ctx);
52
rcc_engine_internal rccEngineGetInternal(rcc_engine_context *ctx) {
53
if (!ctx) return NULL;