6#define NDEVRAPI_CALL __stdcall
7#define NDEVRAPI_PTR NDEVRAPI_CALL
8#elif !QT_BUILD && defined(__ANDROID__) && defined(__ARM_ARCH) && __ARM_ARCH < 7
9#error "NDEVR isn't supported for the 'armeabi' NDK ABI"
10#elif !QT_BUILD && defined(__ANDROID__) && defined(__ARM_ARCH) && __ARM_ARCH >= 7 && defined(__ARM_32BIT_STATE)
15#define NDEVRAPI_ATTR __attribute__((pcs("aapcs-vfp")))
17#define NDEVRAPI_PTR VKAPI_ATTR
24#include <NDEVR/SoftwareService.h>
25#include <NDEVR/String.h>
26#include <NDEVR/Dictionary.h>
27#include <NDEVR/File.h>
28#include <NDEVR/TranslatedString.h>
34 class QTWindowManager;
36 class ModuleResourceManager;
64 , e_library_dependency
77 bool allow_user_toggle_active =
false;
78 bool is_active =
true;
89 void* module_ptr =
nullptr;
#define NDEVRAPI_PTR
Definition ModuleManager.h:7
PFN_NDEVRVoidFunction(__stdcall * PFN_SetupFactoriesForNDEVR)()
Definition ModuleManager.h:43
PFN_NDEVRVoidFunction(__stdcall * PFN_FactoryResetNDEVR)()
Definition ModuleManager.h:47
PFN_NDEVRVoidFunction(__stdcall * PFN_SetupUIThemesForNDEVR)()
Definition ModuleManager.h:46
PFN_NDEVRVoidFunction(__stdcall * PFN_SetupMetatypesForNDEVR)()
Definition ModuleManager.h:40
void(__stdcall * PFN_NDEVRVoidFunction)(void)
Definition ModuleManager.h:29
PFN_NDEVRVoidFunction(__stdcall * PFN_SetupRegistrationForNDEVR)()
Definition ModuleManager.h:39
PFN_NDEVRVoidFunction(__stdcall * PFN_SetUpdateCheckerForNDEVR)()
Definition ModuleManager.h:44
PFN_NDEVRVoidFunction(__stdcall * PFN_InitializeForNDEVR)(NDEVR::Module &module)
Definition ModuleManager.h:38
PFN_NDEVRVoidFunction(__stdcall * PFN_SetupManualsForNDEVR)()
Definition ModuleManager.h:45
void(* PFN_SetupUIForNDEVR)(NDEVR::QTModelManager *model_manager, NDEVR::QTWindowManager *window_manager)
Definition ModuleManager.h:48
PFN_NDEVRVoidFunction(__stdcall * PFN_RegisterUserSettingsForNDEVR)()
Definition ModuleManager.h:41
PFN_NDEVRVoidFunction(__stdcall * PFN_OnNDEVRExit)()
Definition ModuleManager.h:50
PFN_NDEVRVoidFunction(__stdcall * PFN_DefineModuleResourcesForNDEVR)(NDEVR::ModuleResourceManager *resources)
Definition ModuleManager.h:49
PFN_NDEVRVoidFunction(__stdcall * PFN_SetupFileStructureForNDEVR)()
Definition ModuleManager.h:42
The equivelent of std::vector but with a bit more control. The basic array unit of the library.
Definition Buffer.hpp:56
A hash-based key-value store, useful for quick associative lookups. Key features include:
Definition Dictionary.h:61
Provides consistent interface to handle errors through the throw expression. All exceptions generated...
Definition Exception.hpp:47
Logic for reading or writing to a file as well as navigating filesystems.
Definition File.h:48
Logic for the program-wide storage and execution of Modules. Called in software setup to allow module...
Definition ModuleManager.h:97
static File MainModuleFolder()
static void SetupModuleRegistration()
static void CallModuleFunction(const String &function, QTModelManager *model_manager, QTWindowManager *window_manager)
static void CallModuleFunction(const String &function)
static void AddModule(const Module &module)
static void SetErrorCallback(const std::function< void(const Exception &e)> &callback)
static void * LoadFromDynamicLibrary(void *library, const String &function)
static void SetMainProgramModuleName(const String &name)
static Dictionary< String, Dictionary< String, void * > > functions
Definition ModuleManager.h:122
static bool IsModuleActive(const String &module_name)
static void * LoadDynamicLibrary(const String &library)
static void FindModules(const File &module_list, const File &module_folder)
static void FindModules(const File &module_folder)
static void FindModules(const Buffer< String > &module_list, const File &module_folder)
static Dictionary< String, bool > module_active_list
Definition ModuleManager.h:121
static Buffer< String > ordered_modules
Definition ModuleManager.h:119
static void AddModule(const File &module_file)
static bool HasActiveModule(const String &module_name)
static void DefineModuleResources(const String &module_name, ModuleResourceManager *resources)
static void ReadModuleSettings()
static String main_program_module_name
Definition ModuleManager.h:123
static void SaveModuleSettings()
static Dictionary< String, Module > modules
Definition ModuleManager.h:120
static void * LoadFromDynamicLibrary(const String &library, const String &function)
Stores all dependencies for a combination of modules that make up a complete software package.
Definition ModuleResourceManager.h:239
A wrapper around DesignObjectLookup that provides signal and slot functionality and adds rendering ca...
Definition QTModelManager.h:105
Software Services provide an interface for adding to or changing the software behavior via functional...
Definition SoftwareService.h:9
Software Service Managers take a Software service to modify the behavior of the software.
Definition SoftwareService.h:15
The core String class for the NDEVR API.
Definition String.h:69
Logic for reading or writing to a string or a user friendly, TranslatedString.
Definition StringStream.h:230
Any text displayed to the user should be defined as a TranslatedString which allows the program to lo...
Definition TranslatedString.h:13
uint32_t uint04
-Defines an alias representing a 4 byte, unsigned integer -Can represent exact integer values 0 throu...
Definition BaseValues.hpp:96
Base class for extensions, typically added as external DLL's that can modify or enhance the behavior ...
Definition ModuleManager.h:59
TranslatedString display_name
Definition ModuleManager.h:71
String activation_id
Definition ModuleManager.h:76
String icon
Definition ModuleManager.h:72
Module(const String &name)
TranslatedString description
Definition ModuleManager.h:73
void callModuleFunction(const String &function) const
String version
Definition ModuleManager.h:69
Dictionary< String, void * > loaded_functions
Definition ModuleManager.h:67
File library
Definition ModuleManager.h:70
String name
Definition ModuleManager.h:68
void callModuleFunction(const String &function, QTModelManager *model_manager, QTWindowManager *window_manager) const
String license_agreement
Definition ModuleManager.h:74
void defineModuleResources(ModuleResourceManager *resources) const
String website
Definition ModuleManager.h:75
Module(const String &name, const File &library)
ModuleType
Definition ModuleManager.h:61