ApacheCelix是一个使用C和C++实现的OSGi规范的项目。提供了使用组件和面向服务编程来开发模块化应用的框架。
一个C版本的激活器示例:
//${WS}/myproject/budles/hello_world/private/src/hello_world_activator.c#iclude <stdlib.h>#iclude <stdio.h>#iclude "dm_activator.h"struct userData { char * word;};celix_status_t dm_create(budle_cotext_pt cotext, void **out) { celix_status_t status = CELIX_SUCCESS; struct userData* result = calloc(1, sizeof(*result)); if (result != NULL) { result->word = "C World"; *out = result; } else { status = CELIX_START_ERROR; } retur status;}celix_status_t dm_iit(void* userData, budle_cotext_pt cotext, dm_depedecy_maager_pt maager) { struct userData* data = (struct userData *) userData; pritf("Hello %s\", data->word); retur CELIX_SUCCESS;}celix_status_t dm_destroy(void* userData, budle_cotext_pt cotext, dm_depedecy_maager_pt maager) { free(userData); retur CELIX_SUCCESS;}
评论