Example #1
0
File: bundle.c Project: jawi/celix
celix_status_t bundle_startWithOptions(bundle_pt bundle, int options) {
	celix_status_t status = CELIX_SUCCESS;
    if (bundle != NULL) {
    	bool systemBundle = false;
    	status = bundle_isSystemBundle(bundle, &systemBundle);
    	if (status == CELIX_SUCCESS) {
    		if (systemBundle) {
    			framework_start(bundle->framework);
    		} else {
    			status = fw_startBundle(bundle->framework, bundle, options);
    		}
    	}
    }

    framework_logIfError(bundle->framework->logger, status, NULL, "Failed to start bundle");

    return status;
}
Example #2
0
File: main.c Project: caicry/sge800
/*************************************************
  主函数
*************************************************/
int main()
{
	int ret = 0;
	int i;

	PRINTF("BUILD:%s, %s\n\n", __DATE__, __TIME__);
	//对象类初始化,手工写也行,自动生成也行
	aaa.base.baseft = &aaa_ft;
	aaa.base.thread = 1;
	aaa.base.prio = 1;
	
	bbb.base.baseft = &bbb_ft;
	bbb.base.thread = 5;
	bbb.base.prio = 3;

	disp.base.baseft = &disp_ft;
	disp.base.thread = 6;
	disp.base.prio = 6;

	device_test.base.baseft = &device_test_ft;
	device_test.base.thread = 8;
	device_test.base.prio = 10;
	//初始化平台
	ret = framework_init();
	if (ret) {
		//错误处理
		goto error;
	}
	PRINTF("%s:%d\n\n", __FILE__, __LINE__);
	
	//初始化业务模块模型
	for (i = 0; i < sizeof(objects)/ sizeof(objects[0]); i++)
	{
		ret = objects[i]->baseft->initmodel(objects[i]);
		if (ret) {
			goto error;
		}
	}
	//初始化业务模块数据
	for (i = 0; i < sizeof(objects)/ sizeof(objects[0]); i++)
	{
		ret = objects[i]->baseft->initdata(objects[i]);
		if (ret) {
			goto error;
		}
	}
	
	//启动平台框架
	ret = framework_start();
	if (ret) {
		//错误处理
		goto error;
	}
	PRINTF("%s:%d\n\n", __FILE__, __LINE__);

	while(1) {
		sleep(1000);
	}

error:
	PRINTF("main err\n");
	return 0;
}