diff --git a/src/main/server.c b/src/main/server.c index a1de40db68c692a09bb0fbfb573ef09254b1f54e..78d6faecb24685592e9f3c039717888d297bb883 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 0000000000000000000000000000000000000000..45c1cdb2950b46796a5adfe486851e0bf9a74c85 --- /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 40c8ae63c6c8fcb6b5277eb72dbd09c783de2a55..641e7637deffcb302b53363c7cb9e49fe6f87297 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 0000000000000000000000000000000000000000..0d27c386baba8054092d2636eed4ac06612a4cc5 --- /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 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391