20 #ifndef CELIX_COMPONENT_H_ 21 #define CELIX_COMPONENT_H_ 25 #include "celix_types.h" 26 #include "celix_errno.h" 27 #include "properties.h" 28 #include "array_list.h" 42 #define CELIX_DM_COMPONENT_MAX_ID_LENGTH 64 43 #define CELIX_DM_COMPONENT_MAX_NAME_LENGTH 128 72 celix_status_t
celix_dmComponent_addInterface(celix_dm_component_t *component,
const char* serviceName,
const char* serviceVersion,
const void* service, celix_properties_t *properties);
130 #define CELIX_DMCOMPONENT_SETCALLBACKS(dmCmp, type, init, start, stop, deinit) \ 132 int (*tmp_init)(type) = (init); \ 133 int (*tmp_start)(type) = (start); \ 134 int (*tmp_stop)(type) = (stop); \ 135 int (*tmp_deinit)(type) = (deinit); \ 136 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); \ Definition: celix_dm_component.h:38
bool celix_dmComponent_isActive(celix_dm_component_t *component)
celix_status_t celix_dmComponent_setCLanguageProperty(celix_dm_component_t *component, bool setCLangProp)
void celix_dmComponent_destroy(celix_dm_component_t *cmp)
celix_dm_component_state_t celix_dmComponent_currentState(celix_dm_component_t *cmp)
celix_status_t celix_dmComponent_setCallbacks(celix_dm_component_t *component, celix_dm_cmp_lifecycle_fpt init, celix_dm_cmp_lifecycle_fpt start, celix_dm_cmp_lifecycle_fpt stop, celix_dm_cmp_lifecycle_fpt deinit)
celix_status_t celix_dmComponent_addServiceDependency(celix_dm_component_t *component, celix_dm_service_dependency_t *dep)
void * celix_dmComponent_getImplementation(celix_dm_component_t *cmp)
celix_dm_component_t * celix_dmComponent_create(celix_bundle_context_t *context, const char *name)
enum celix_dm_component_state_enum celix_dm_component_state_t
int(* celix_dm_cmp_lifecycle_fpt)(void *userData)
Definition: celix_dm_component.h:45
celix_status_t celix_dmComponent_setImplementation(celix_dm_component_t *component, void *implementation)
Definition: celix_dm_info.h:52
Definition: celix_dm_component.h:37
celix_status_t celix_dmComponent_getInterfaces(celix_dm_component_t *component, celix_array_list_t **servicesNames)
celix_status_t celix_dmComponent_removeServiceDependency(celix_dm_component_t *component, celix_dm_service_dependency_t *dependency)
celix_status_t celix_dmComponent_removeInterface(celix_dm_component_t *component, const void *service)
celix_dm_component_state_enum
Definition: celix_dm_component.h:35
celix_bundle_context_t * celix_dmComponent_getBundleContext(celix_dm_component_t *component)
const char * celix_dmComponent_getName(celix_dm_component_t *cmp)
celix_status_t celix_dmComponent_getComponentInfo(celix_dm_component_t *component, dm_component_info_pt *info)
Definition: celix_dm_component.h:39
Definition: celix_dm_component.h:36
celix_status_t celix_dmComponent_addInterface(celix_dm_component_t *component, const char *serviceName, const char *serviceVersion, const void *service, celix_properties_t *properties)
void celix_dmComponent_destroyComponentInfo(dm_component_info_pt info)