From 94bd7ed26f2c0e81d14018ece335afd45a4115ca Mon Sep 17 00:00:00 2001 From: Kubat <mael.martin31@gmail.com> Date: Sat, 1 Oct 2022 19:16:32 +0200 Subject: [PATCH] MODULE: Add base files for repo_rs module --- src/main/server.c | 2 + src/module/module_repo_rs.c | 68 +++++++++++++++++++++ src/rust/liblektor-rs/src/lib.rs | 1 + src/rust/liblektor-rs/src/module/mod.rs | 1 + src/rust/liblektor-rs/src/module/repo_rs.rs | 0 5 files changed, 72 insertions(+) create mode 100644 src/module/module_repo_rs.c create mode 100644 src/rust/liblektor-rs/src/module/mod.rs create mode 100644 src/rust/liblektor-rs/src/module/repo_rs.rs diff --git a/src/main/server.c b/src/main/server.c index a1de40db..78d6faec 100644 --- a/src/main/server.c +++ b/src/main/server.c @@ -19,6 +19,7 @@ REG_DECLARE(sdl2_reg) REG_DECLARE(qt_window_reg) REG_DECLARE(repo_reg) +REG_DECLARE(repo_rs_reg) #endif /* TODO: Donesn't work, maybe stdin is no longer valid at the point where that @@ -38,6 +39,7 @@ main(int argc, char *argv[]) REG_ADD(launch_caching) REG_ADD(database_upgrade_scheme) #if defined(LKT_STATIC_MODULE) + REG_REGISTER("repo_rs", repo_rs_reg) REG_REGISTER("repo", repo_reg) REG_REGISTER("sdl2", sdl2_reg) REG_REGISTER("qt", qt_window_reg) diff --git a/src/module/module_repo_rs.c b/src/module/module_repo_rs.c new file mode 100644 index 00000000..45c1cdb2 --- /dev/null +++ b/src/module/module_repo_rs.c @@ -0,0 +1,68 @@ +#define __LKT_MODULE_MAIN_SOURCE__ +#include <lektor/lktmodule.h> +#include <lektor/stb/ds.h> +#include <lektor/internal/worker.h> + +/********************** + * Function from RUST * + **********************/ + +typedef module_repo_rs_internal; + +/******************** + * Export functions * + ********************/ + +PRIVATE_FUNCTION int +mod_new(va_list *va) { + va_list copy; + struct module_repo_rs_internal **repo; + va_copy(copy, *va); + repo = (struct module_repo_rs_internal **)va_arg(copy, void **); + + va_end(copy); + return 1; +} + +PRIVATE_FUNCTION int +mod_free(va_list *va) { + return 1; +} + +PRIVATE_FUNCTION int +mod_close(va_list *va) { + return 1; +} + +PRIVATE_FUNCTION int +mod_update(va_list *va) { + return 1; +} + +PRIVATE_FUNCTION int +mod_dry_update(va_list *va) { + return 1; +} + +PRIVATE_FUNCTION int +mod_rescan(va_list *va) { + return 1; +} + +PRIVATE_FUNCTION int +mod_import(va_list *va) { + return 1; +} + +REG_BEGIN(repo_rs_reg) +REG_ADD_NAMED("new", mod_new) /* Create the module */ +REG_ADD_NAMED("free", mod_free) /* Close and free ressources */ +REG_ADD_NAMED("close", mod_close) /* Stop the module */ +REG_ADD_NAMED("update", mod_update) /* Update from kurisu */ +REG_ADD_NAMED("dry-update", mod_dry_update) /* Update avail kara from kurisu */ +REG_ADD_NAMED("rescan", mod_rescan) /* Rescan from hard drive */ +REG_ADD_NAMED("import", mod_import) /* Import favorites from kurisu */ +REG_END() +#if !defined(LKT_STATIC_MODULE) +REG_EXPORT(repo_rs_reg) +#endif diff --git a/src/rust/liblektor-rs/src/lib.rs b/src/rust/liblektor-rs/src/lib.rs index 40c8ae63..641e7637 100644 --- a/src/rust/liblektor-rs/src/lib.rs +++ b/src/rust/liblektor-rs/src/lib.rs @@ -1,5 +1,6 @@ #![allow(dead_code)] +mod module; mod database; mod mkv; diff --git a/src/rust/liblektor-rs/src/module/mod.rs b/src/rust/liblektor-rs/src/module/mod.rs new file mode 100644 index 00000000..0d27c386 --- /dev/null +++ b/src/rust/liblektor-rs/src/module/mod.rs @@ -0,0 +1 @@ +pub(crate) mod repo_rs; diff --git a/src/rust/liblektor-rs/src/module/repo_rs.rs b/src/rust/liblektor-rs/src/module/repo_rs.rs new file mode 100644 index 00000000..e69de29b -- GitLab