Newer
Older
#ifndef _DAP_CHAIN_PLUGINS_MANIFEST_
#define _DAP_CHAIN_PLUGINS_MANIFEST_
#include "dap_common.h"
#include "dap_list.h"
#include "dap_strfuncs.h"
#include "stdio.h"
#include "json-c/json_object.h"
#include "json-c/json_tokener.h"
#ifdef __cplusplus
extern "C"{
#endif
#undef LOG_TAG
#define LOG_TAG "dap_chain_plugins_manifest"
enum data_in_manifest{
NAME,
VERSION,
DEPENDENCYS,
AUTHOR,
DESCRIPTION
};
typedef struct manifest{
char *name;
char *version;
dap_list_t *dependencys;
char *author;
char *description;
bool init;
}manifest_t;
manifest_t *dap_chain_plugins_manifest_new(const char *name, const char *version, const dap_list_t *dep, const char *author,
const char *description);
void dap_chain_plugins_manifest_free(manifest_t *manifest);
manifest_t* dap_chain_plugins_add_manifest_from_file(const char *file_path);
static dap_list_t *manifests;
void dap_chain_plugins_manifest_list_create();
manifest_t *dap_chain_plugins_manifest_get_list(size_t index);
unsigned int dap_chain_plugins_manifests_get_lenght();
void dap_chain_plugins_manifest_list_free();
void dap_chain_plugins_manifest_list_add_manifest(manifest_t *manifest);
bool dap_chain_plugins_manifest_list_add_from_file(const char *file_path);
#ifdef __cplusplus
}
#endif
#endif