diff options
author | Henrik Rentz-Reichert | 2019-05-10 14:21:10 +0000 |
---|---|---|
committer | Henrik Rentz-Reichert | 2019-05-15 17:30:58 +0000 |
commit | 5f88a96768e4e8d6336ad5d329d2049bce644b04 (patch) | |
tree | cec0bb1753979340c3b54607936bd6628d027749 /runtime/org.eclipse.etrice.runtime.c/src/common/runtime/etRuntime.h | |
parent | 877c88575ff8a7665aa78107a2b03d0ce0bbfb07 (diff) | |
download | org.eclipse.etrice-5f88a96768e4e8d6336ad5d329d2049bce644b04.tar.gz org.eclipse.etrice-5f88a96768e4e8d6336ad5d329d2049bce644b04.tar.xz org.eclipse.etrice-5f88a96768e4e8d6336ad5d329d2049bce644b04.zip |
Bug 546770 - improve and complete memory management
* memory managements hooked into runtime for access to statistics
* improved structure and code
Change-Id: Id2c0d7d4c77bf5de0753a155d0155738a3195bfe
Diffstat (limited to 'runtime/org.eclipse.etrice.runtime.c/src/common/runtime/etRuntime.h')
-rw-r--r-- | runtime/org.eclipse.etrice.runtime.c/src/common/runtime/etRuntime.h | 63 |
1 files changed, 61 insertions, 2 deletions
diff --git a/runtime/org.eclipse.etrice.runtime.c/src/common/runtime/etRuntime.h b/runtime/org.eclipse.etrice.runtime.c/src/common/runtime/etRuntime.h index 5c5ff3d0b..4dab21678 100644 --- a/runtime/org.eclipse.etrice.runtime.c/src/common/runtime/etRuntime.h +++ b/runtime/org.eclipse.etrice.runtime.c/src/common/runtime/etRuntime.h @@ -18,6 +18,7 @@ extern "C" { #define _ETRUNTIME_H_ #include "messaging/etMessageService.h" +#include "base/etMemory.h" /** * \file etRuntime.h @@ -45,6 +46,14 @@ int etRuntime_getMessageServiceCount(); const etMessageServiceStatistics* etRuntime_getMessageServiceStatistics(unsigned int i); /** + * returns the name of a message service + * + * \param i the message service instance number + * \return the name of this message service + */ +const char* etRuntime_getMessageServiceName(unsigned int i); + +/** * finds a message service by its name and returns its index or -1 if not found * * \param name the name of the message service @@ -58,16 +67,66 @@ int etRuntime_getMessageServiceByName(const char* name); void etRuntime_resetAllMessageServiceStatistics(); /** - * registers the message service by hooking it into a linked list + * registers a message service + * \param msgService the message service */ void etRuntime_registerMessageService(etMessageService* msgService); /** - * unregisters the message service by removing it from the linked list + * unregisters a message service + * \param msgService the message service */ void etRuntime_unregisterMessageService(etMessageService* msgService); /** + * registers a memory management + * \param mem the memory management + */ +void etRuntime_registerMemoryManagement(etMemory* mem); + +/** + * unregisters a memory management + * \param mem the memory management + */ +void etRuntime_unregisterMemoryManagement(etMemory* mem); + +/** + * returns the number of memory managements in this process + * + * \return the number of memory managements in this process + */ +int etRuntime_getMemoryManagementCount(); + +/** + * returns the statistics of a memory management + * + * \param i the memory management instance number + * \return the statistics of this memory management + */ +const etMemoryStatistics* etRuntime_getMemoryManagementStatistics(unsigned int i); + +/** + * finds a memory management by its name and returns its index or -1 if not found + * + * \param name the name of the memory management + * \return the index of the memory management or -1 + */ +int etRuntime_getMemoryManagementByName(const char* name); + +/** + * returns the name of a memory management + * + * \param i the memory management instance number + * \return the name of this memory management + */ +const char* etRuntime_getMemoryManagementName(unsigned int i); + +/** + * sets a flag in all memory management structs that tells the memory managements to reset their statistics + */ +void etRuntime_resetAllMemoryManagementStatistics(); + +/** * a global semaphore used to terminate the application in headless mode * * \return the semaphore |