Apache Celix
2.4.0
Apache Celix is a framework for C, C++14 and C++17 to develop dynamic modular software applications using component and in-process service-oriented programming.
|
Go to the documentation of this file.
20 #ifndef CELIX_DM_SERVICE_DEPENDENCY_H_
21 #define CELIX_DM_SERVICE_DEPENDENCY_H_
23 #include "celix_types.h"
24 #include "celix_errno.h"
25 #include "celix_threads.h"
27 #include "celix_framework_export.h"
57 #define CELIX_EMPTY_DM_SERVICE_DEPENDENCY_CALLBACK_OPTIONS { .set = NULL, \
61 .setWithProps = NULL, \
62 .addWithProps = NULL, \
63 .removeWithProps = NULL, \
64 .swapWithProps = NULL }
122 CELIX_FRAMEWORK_EXPORT celix_status_t
celix_dmServiceDependency_setService(celix_dm_service_dependency_t *dependency,
const char* serviceName,
const char* serviceVersionRange,
const char* filter);
CELIX_FRAMEWORK_EXPORT celix_status_t celix_dmServiceDependency_setCallback(celix_dm_service_dependency_t *dependency, celix_dm_service_update_fp set)
celix_dm_service_swap_with_props_fp swapWithProps
Definition: celix_dm_service_dependency.h:54
celix_dm_service_update_with_props_fp removeWithProps
Definition: celix_dm_service_dependency.h:53
celix_dm_service_update_fp add
Definition: celix_dm_service_dependency.h:47
celix_dm_service_dependency_strategy_enum
Definition: celix_dm_service_dependency.h:34
Definition: celix_dm_info.h:41
celix_dm_service_update_fp remove
Definition: celix_dm_service_dependency.h:48
CELIX_FRAMEWORK_EXPORT celix_status_t celix_dmServiceDependency_setStrategy(celix_dm_service_dependency_t *dependency, celix_dm_service_dependency_strategy_t strategy)
struct celix_dm_service_dependency_callback_options celix_dm_service_dependency_callback_options_t
CELIX_FRAMEWORK_EXPORT celix_dm_service_dependency_strategy_t celix_dmServiceDependency_getStrategy(celix_dm_service_dependency_t *dependency)
celix_dm_service_swap_fp swap
Definition: celix_dm_service_dependency.h:49
celix_dm_service_update_fp set
Definition: celix_dm_service_dependency.h:46
CELIX_FRAMEWORK_DEPRECATED_EXPORT celix_status_t celix_dmServiceDependency_setAddCLanguageFilter(celix_dm_service_dependency_t *dependency, bool addCLangFilter)
CELIX_FRAMEWORK_EXPORT void celix_dmServiceDependency_destroyInfo(celix_dm_service_dependency_t *dep, dm_service_dependency_info_t *info)
celix_dm_service_update_with_props_fp setWithProps
Definition: celix_dm_service_dependency.h:51
CELIX_FRAMEWORK_EXPORT celix_status_t celix_dmServiceDependency_setRequired(celix_dm_service_dependency_t *dependency, bool required)
celix_dm_service_update_with_props_fp addWithProps
Definition: celix_dm_service_dependency.h:52
@ DM_SERVICE_DEPENDENCY_STRATEGY_LOCKING
Definition: celix_dm_service_dependency.h:35
CELIX_FRAMEWORK_EXPORT celix_status_t celix_dmServiceDependency_setCallbackHandle(celix_dm_service_dependency_t *dependency, void *handle)
int(* celix_dm_service_swap_with_props_fp)(void *handle, void *oldService, void *newService, const celix_properties_t *newProps)
Definition: celix_dm_service_dependency.h:43
int(* celix_dm_service_update_fp)(void *handle, void *service)
Definition: celix_dm_service_dependency.h:39
CELIX_FRAMEWORK_EXPORT celix_status_t celix_dmServiceDependency_setService(celix_dm_service_dependency_t *dependency, const char *serviceName, const char *serviceVersionRange, const char *filter)
int(* celix_dm_service_update_with_props_fp)(void *handle, void *service, const celix_properties_t *props)
Definition: celix_dm_service_dependency.h:42
Definition: celix_dm_service_dependency.h:45
CELIX_FRAMEWORK_EXPORT void celix_dmServiceDependency_destroy(celix_dm_service_dependency_t *dep)
CELIX_FRAMEWORK_EXPORT celix_dm_service_dependency_t * celix_dmServiceDependency_create(void)
CELIX_FRAMEWORK_EXPORT celix_status_t celix_dmServiceDependency_setCallbackWithProperties(celix_dm_service_dependency_t *dependency, celix_dm_service_update_with_props_fp set)
@ DM_SERVICE_DEPENDENCY_STRATEGY_SUSPEND
Definition: celix_dm_service_dependency.h:36
int(* celix_dm_service_swap_fp)(void *handle, void *oldService, void *newService)
Definition: celix_dm_service_dependency.h:40
CELIX_FRAMEWORK_EXPORT celix_status_t celix_dmServiceDependency_setCallbacksWithOptions(celix_dm_service_dependency_t *dependency, const celix_dm_service_dependency_callback_options_t *opts)
enum celix_dm_service_dependency_strategy_enum celix_dm_service_dependency_strategy_t
CELIX_FRAMEWORK_EXPORT dm_service_dependency_info_t * celix_dmServiceDependency_createInfo(celix_dm_service_dependency_t *dep)
const CELIX_FRAMEWORK_EXPORT char * celix_dmServiceDependency_getFilter(celix_dm_service_dependency_t *dependency)