diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2024-08-24 22:30:08 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2024-08-24 22:30:08 (GMT) |
commit | f505830e800e4061d6e57c2b0769f956e70a2d84 (patch) | |
tree | 4c41123d39586122b732defe0faad1d4158ec5a7 /src/core/core.c | |
parent | 70f5f1c083158ea01513bc07955d62b3b3f43795 (diff) |
Load (some) core components again.
Diffstat (limited to 'src/core/core.c')
-rw-r--r-- | src/core/core.c | 75 |
1 files changed, 74 insertions, 1 deletions
diff --git a/src/core/core.c b/src/core/core.c index f67e23d..1f40cb3 100644 --- a/src/core/core.c +++ b/src/core/core.c @@ -2,7 +2,7 @@ /* Chrysalide - Outil d'analyse de fichiers binaires * core.c - chargement et le déchargement du tronc commun * - * Copyright (C) 2014-2019 Cyrille Bagard + * Copyright (C) 2014-2024 Cyrille Bagard * * This file is part of Chrysalide. * @@ -24,6 +24,77 @@ #include "core.h" +#include "global.h" + + + +/* Statuts de chargement */ +static AvailableCoreComponent __loaded = ACC_NONE; + + +/****************************************************************************** +* * +* Paramètres : flags = liste d'éléments à charger. * +* * +* Description : Charge une sélection d'éléments de base du programme. * +* * +* Retour : Bilan de l'opération. * +* * +* Remarques : - * +* * +******************************************************************************/ + +bool load_core_components(AvailableCoreComponent flags) +{ + bool result; /* Bilan à retourner */ + + result = true; + + if ((flags & ACC_GLOBAL_VARS) != 0 && (__loaded & ACC_GLOBAL_VARS) == 0) + { + set_work_queue(g_work_queue_new()); + + __loaded |= ACC_GLOBAL_VARS; + + } + + return result; + +} + + +/****************************************************************************** +* * +* Paramètres : flags = liste d'éléments à décharger. * +* * +* Description : Décharge une sélection d'éléments de base du programme. * +* * +* Retour : - * +* * +* Remarques : - * +* * +******************************************************************************/ + +void unload_core_components(AvailableCoreComponent flags) +{ + if ((flags & ACC_GLOBAL_VARS) != 0 && (__loaded & ACC_GLOBAL_VARS) == 0) + { + set_work_queue(NULL); + + __loaded &= ~ACC_GLOBAL_VARS; + + } + +} + + + + + + + +#if 0 + #include <stdlib.h> #include <time.h> #include <unistd.h> @@ -255,3 +326,5 @@ void unload_core_components(AvailableCoreComponent flags) } } + +#endif |