Skip to content
Snippets Groups Projects
dap_chain_plugins_list.h 1.94 KiB
Newer Older
/*
* Authors:
* Alexey V. Stratulat <alexey.stratulat@demlabs.net>
* DeM Labs Inc.   https://demlabs.net
* DeM Labs Open source community https://gitlab.demlabs.net/cellframe/libdap-plugins-python
* Copyright  (c) 2017-2020
* All rights reserved.

This file is part of DAP (Deus Applications Prototypes) the open source project

   DAP (Deus Applicaions Prototypes) is free software: you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation, either version 3 of the License, or
   (at your option) any later version.

   DAP is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.

   You should have received a copy of the GNU General Public License
   along with any DAP based project.  If not, see <http://www.gnu.org/licenses/>.
*/

#ifndef _DAP_CHAIN_PLUGINS_LIST_
#define _DAP_CHAIN_PLUGINS_LIST_

#include "Python.h"
#include "stdbool.h"
#include "dap_common.h"
#include "dap_strfuncs.h"
#include "utlist.h"
#include "dap_chain_plugins_manifest.h"
typedef struct dap_chain_list_plugin_module{
    struct dap_chain_list_plugin_module *next;
}dap_chain_plugin_list_module_t;
static dap_chain_plugin_list_module_t* s_dap_chain_plugins_module_list;
dap_chain_plugin_list_module_t* dap_chain_plugins_list_get();
bool dap_chain_plugins_list_check_load_plugins(dap_chain_plugins_list_char_t *a_list);
void dap_chain_plugins_list_add(PyObject *a_module, const char *a_name);
void dap_chain_plugins_list_name_del(const char *a_name);
int dap_chain_plugins_list_name_cmp(dap_chain_plugin_list_module_t *a_element, const char *a_name);

#ifdef __cplusplus
extern "C" {
#endif
#endif // _DAP_CHAIN_PLUGINS_LIST_