This is an automated email from the ASF dual-hosted git repository. pnoltes pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/celix.git
commit b85a17e3b3817f12d9202bb07ee500a857f59d7f Merge: 424982f6 d6afb40a Author: Pepijn Noltes <[email protected]> AuthorDate: Tue Jun 28 15:35:40 2022 +0200 Merge pull request #424 from apache/feature/print_function_for_dm_info Adds print functions for dependency manager bundles/shell/shell/src/dm_shell_list_command.c | 104 +-------------------- .../gtest/src/DependencyManagerTestSuite.cc | 64 +++++++++++++ libs/framework/include/celix/dm/Component.h | 8 +- libs/framework/include/celix/dm/Component_Impl.h | 18 +++- .../framework/include/celix/dm/DependencyManager.h | 12 ++- .../include/celix/dm/DependencyManager_Impl.h | 11 +++ libs/framework/include/celix_dependency_manager.h | 59 +++++++----- libs/framework/include/celix_dm_component.h | 23 +++-- libs/framework/include/celix_dm_info.h | 6 +- libs/framework/src/dm_component_impl.c | 95 +++++++++++++++++-- libs/framework/src/dm_dependency_manager_impl.c | 27 +++++- libs/utils/include/celix/Utils.h | 32 +++++++ 12 files changed, 317 insertions(+), 142 deletions(-) diff --cc libs/framework/include/celix_dm_component.h index 6f0b0d5a,29ea96d9..d5e3407f --- a/libs/framework/include/celix_dm_component.h +++ b/libs/framework/include/celix_dm_component.h @@@ -189,22 -163,23 +189,30 @@@ celix_status_t celix_dmComponent_setCal /** * Set the component life cycle callbacks using a MACRO for improving the type safety. */ -#define CELIX_DMCOMPONENT_SETCALLBACKS(dmCmp, type, init, start, stop, deinit) \ +#define CELIX_DM_COMPONENT_SET_CALLBACKS(dmCmp, type, init, start, stop, deinit) \ do { \ - int (*tmp_init)(type) = (init); \ - int (*tmp_start)(type) = (start); \ - int (*tmp_stop)(type) = (stop); \ - int (*tmp_deinit)(type) = (deinit); \ - celix_dmComponent_setCallbacks((dmCmp), (celix_dm_cmp_lifecycle_fpt)tmp_init, (celix_dm_cmp_lifecycle_fpt)tmp_start, (celix_dm_cmp_lifecycle_fpt)tmp_stop, (celix_dm_cmp_lifecycle_fpt)tmp_deinit); \ + int (*_tmp_init)(type*) = (init); \ + int (*_tmp_start)(type*) = (start); \ + int (*_tmp_stop)(type*) = (stop); \ + int (*_tmp_deinit)(type*) = (deinit); \ + celix_dmComponent_setCallbacks((dmCmp), (celix_dm_cmp_lifecycle_fpt)_tmp_init, (celix_dm_cmp_lifecycle_fpt)_tmp_start, (celix_dm_cmp_lifecycle_fpt)_tmp_stop, (celix_dm_cmp_lifecycle_fpt)_tmp_deinit); \ } while(0) + + bool celix_dmComponent_isActive(celix_dm_component_t *component); + + /** + * Returns the string value of a provided state + */ + const char* celix_dmComponent_stateToString(celix_dm_component_state_t state); + +/** + * Deprecated, use CELIX_DM_COMPONENT_SET_CALLBACKS instead. + */ + +#define CELIX_DMCOMPONENT_SETCALLBACKS(dmCmp, type, init, start, stop, deinit) \ + CELIX_DM_COMPONENT_SET_CALLBACKS(dmCmp, type*, init, start, stop, deinit) + /** * Create a DM Component info struct. Containing information about the component. * Caller has ownership.
