内容简介:Apache Celix —— OSGi 规范的 C++ 开源实现
Apache Celix 是一个使用 C 和 C++ 实现的 OSGi 规范的项目。提供了使用组件和面向服务编程来开发模块化应用的框架。
一个 C 版本的激活器示例:
//${WS}/myproject/bundles/hello_world/private/src/hello_world_activator.c
#include <stdlib.h>
#include <stdio.h>
#include "dm_activator.h"
struct userData {
char * word;
};
celix_status_t dm_create(bundle_context_pt context, 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;
}
return status;
}
celix_status_t dm_init(void* userData, bundle_context_pt context, dm_dependency_manager_pt manager) {
struct userData* data = (struct userData *) userData;
printf("Hello %s\n", data->word);
return CELIX_SUCCESS;
}
celix_status_t dm_destroy(void* userData, bundle_context_pt context, dm_dependency_manager_pt manager) {
free(userData);
return CELIX_SUCCESS;
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 优秀开源框架的扩展机制实现
- 手写NSCache及开源实现的分析
- 开源:如何实现一个 iOS AOP 框架?
- 经典开源代码分析——Leveldb高效存储实现
- OpenLDAP 2.4.46 发布,开源 LDAP 实现
- 微服务网关-Kong开源实现(7.30)
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。