From 46505575e2147d2f777b5a209ba16be92e1cc520 Mon Sep 17 00:00:00 2001 From: Dmitry Gerasimov <dmitriy.gerasimov@demlabs.net> Date: Mon, 22 Aug 2022 21:06:45 +0700 Subject: [PATCH] [*] Some fixes for plugins [-] Removed modules_dynamic as useless now (plugins repeats its functionality) [+] Added plugins load --- CMakeLists.txt | 2 +- cellframe-sdk | 2 +- sources/main.c | 38 +++++++++++++++++++------------------- 3 files changed, 21 insertions(+), 21 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index df686b7f7..665afe7d1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -52,7 +52,7 @@ endif() set(CELLFRAME_MODULES "core chains mining network srv cs-dag-poa cs-block-poa cs-dag-pos cs-block-pos cs-block-ton cs-none srv-app srv-app-db srv-datum srv-stake-pos-delegate srv-stake-lock srv-xchange") if(LINUX OR DARWIN) - set(CELLFRAME_MODULES "${CELLFRAME_MODULES} modules-dynamic srv-vpn") + set(CELLFRAME_MODULES "${CELLFRAME_MODULES} srv-vpn") endif() if(BUILD_CELLFRAME_NODE_TESTS) diff --git a/cellframe-sdk b/cellframe-sdk index b17698c2e..4a8e2607f 160000 --- a/cellframe-sdk +++ b/cellframe-sdk @@ -1 +1 @@ -Subproject commit b17698c2e0aab862b9f88296db6c9e801ce299c5 +Subproject commit 4a8e2607fa15bcab60ab5746c495d92bd52e4de6 diff --git a/sources/main.c b/sources/main.c index 74993b3f2..da52cd003 100755 --- a/sources/main.c +++ b/sources/main.c @@ -22,6 +22,7 @@ along with any DAP based project. If not, see <http://www.gnu.org/licenses/>. */ +#include "dap_strfuncs.h" #include <stdlib.h> #include <stdio.h> #include <time.h> @@ -122,6 +123,7 @@ #include "dap_defines.h" #include "dap_file_utils.h" +#include "dap_plugin.h" #ifdef DAP_SUPPORT_PYTHON_PLUGINS #include "dap_chain_plugins.h" @@ -501,30 +503,31 @@ int main( int argc, const char **argv ) //dap_chain_net_load_all(); -//Init python plugins -#ifdef DAP_SUPPORT_PYTHON_PLUGINS - log_it(L_NOTICE, "Loading python plugins"); - dap_plugins_python_app_content_init(l_server); - dap_chain_plugins_init(g_config); -#endif + if(dap_config_get_item_bool_default(g_config,"plugins","enabled",false)){ + char * l_plugins_path_default = dap_strdup_printf("%s/var/lib/plugins", g_sys_dir_path); + dap_plugin_init( dap_config_get_item_str_default(g_config, "plugins", "path", l_plugins_path_default) ); + DAP_DELETE(l_plugins_path_default); - /* Test code for service client - #include "dap_chain_net_srv_client.h" - dap_chain_net_srv_client_callbacks_t l_callbacks = {}; - dap_chain_net_srv_client_t *l_client = dap_chain_net_srv_client_create_n_connect( - dap_chain_net_by_name("kelvin-testnet"), - "51.89.133.15", 80, &l_callbacks, NULL); - */ + //Init python plugins + #ifdef DAP_SUPPORT_PYTHON_PLUGINS + log_it(L_NOTICE, "Loading python plugins"); + dap_plugins_python_app_content_init(l_server); + dap_chain_plugins_init(g_config); + #endif + + dap_plugin_start_all(); + } rc = dap_events_wait(); log_it( rc ? L_CRITICAL : L_NOTICE, "Server loop stopped with return code %d", rc ); // Deinit modules //failure: + if(dap_config_get_item_bool_default(g_config,"plugins","enabled",false)){ + dap_plugin_stop_all(); + dap_plugin_deinit(); + } -// #ifdef DAP_SUPPORT_PYTHON_PLUGINS -// dap_chain_plugins_deinit(); -// #endif dap_dns_server_stop(); dap_stream_deinit(); dap_stream_ctl_deinit(); @@ -537,9 +540,6 @@ int main( int argc, const char **argv ) dap_chain_net_srv_stake_pos_delegate_deinit(); dap_chain_net_srv_stake_lock_deinit(); dap_chain_net_deinit(); -#ifdef DAP_MODULES_DYNAMIC - dap_modules_dynamic_close_cdb(); -#endif dap_global_db_deinit(); dap_chain_deinit(); dap_config_close( g_config ); -- GitLab