示例#1
0
static int __init resch_init(void)
{
	int ret;

	printk(KERN_INFO "RESCH: HELLO!\n");

	/* get the device number of a char device. */
	ret = alloc_chrdev_region(&dev_id, 0, 1, MODULE_NAME);
	if (ret < 0) {
		printk(KERN_WARNING "RESCH: failed to allocate device.\n");
		return ret;
	}

	/* initialize the char device. */
	cdev_init(&c_dev, &resch_fops);

	/* register the char device. */
	ret = cdev_add(&c_dev, dev_id, 1);
	if (ret < 0) {
		printk(KERN_WARNING "RESCH: failed to register device.\n");
		return ret;
	}

	sched_init();
	component_init();

	return 0;
}
示例#2
0
void component_task(void *pvParam)
{
	logd("component_task enter");	
	if(KEY_PowerOff()) {
			post_trace("power key is down");
			POWER_Off();
		
			return;
	}		
	component_init();
	 
	while(1) {
		if(KEY_Pressed(KEY_State(), key_right)) {		 			// 如果是KEY1被按下
			while(KEY_Pressed(KEY_State(), key_right));	 		// 等待按键释放
			component_key_left();
		}	else if(KEY_Pressed(KEY_State(), key_left)) {	 // 如果是KEY2被按下
			while(KEY_Pressed(KEY_State(), key_left));	 	 // 等待按键释放			 
			component_key_right();		
		} else if(KEY_Pressed(KEY_State(), key_alarm)) {			
			while(KEY_Pressed(KEY_State(), key_alarm));	 	// 等待按键释放
			component_key_alarm();
		} else if(KEY_Pressed(KEY_State(), key_service)) {
			while(KEY_Pressed(KEY_State(), key_service));	 // 等待按键释放
			component_key_service();
 		} else if(KEY_Pressed(KEY_State(), key_broadcast)) {
 			while(KEY_Pressed(KEY_State(), key_broadcast));	// 等待按键释放
 			component_key_boardcast();
		} else if(KEY_PowerOff()) {
			POWER_Off();
			
			return;			
		}	
	}
}
示例#3
0
void mod_init(void **apis)
{
	core_api = apis[0];

	component_init();
	comp_manager_init();
}
示例#4
0
TransformComponent* transform_component_new(Entity entity,
    Vec2 position,
    f32 rotation,
    Vec2 scale) {
    TransformComponent* self = (TransformComponent*)calloc(1, sizeof(TransformComponent));

    component_init((Component*)self, COMPONENT_TRANSFORM, sizeof(TransformComponent), entity);

    self->position = position;
    self->rotation = rotation;
    self->scale = scale;

    return self;
}
int main() 
{
	struct component *component = NULL;
	struct component *node = NULL;
	int i;

	/* init */
	component = component_init();

	/* display empty */
	component_display(component);

	/* add node */
	component_add_node(component, "n_aaa", "d_aaa", "t_aaa", "r_aaa", "h_aaa", 1, 111, 0);
	component_add_node(component, "n_bbb", NULL, "t_bbb", "r_bbb", "h_bbb", 1, 222, 0);
	component_add_node(component, "n_ccc", NULL, "t_ccc", "r_ccc", NULL, 0, 333, 0);

	/* display, delete, add node */
	DEBUG_PRINT();
	component_display(component);

	component_delete_first_name(component, "n_aaa");
	DEBUG_PRINT();
	component_display(component);

	component_delete_first_name(component, "n_aaa");
	DEBUG_PRINT();
	component_display(component);

	component_add_node(component, "n_ddd", "d_ddd", "t_ddd", "r_ddd", "h_ddd", 1, 444, 0);
	DEBUG_PRINT();
	component_display(component);

	/* add node for hook */
	char hook[4][COMPONENT_NAME_LEN];
	memset(hook, '\0',  sizeof(hook));
	strcpy(&hook[0][0], "h_eee_1");
	strcpy(&hook[1][0], "h_eee_2");
	strcpy(&hook[3][0], "h_eee_4");
	component_add_node(component, "n_eee", "d_eee", "t_eee", "r_eee", (char *)hook, 4, 555, 0);
	DEBUG_PRINT();
	component_display(component);

	/* is registered */
	fprintf(stderr, "n_aaa is registerd? (%d)\n", component_is_registered(component, "n_aaa"));
	fprintf(stderr, "n_bbb is registerd? (%d)\n", component_is_registered(component, "n_bbb"));

	/* is unique tunnel */
	fprintf(stderr, "t_aaa is unique? (%d)\n", component_is_unique_tunnel(component, "t_aaa"));
	fprintf(stderr, "t_bbb is unique? (%d)\n", component_is_unique_tunnel(component, "t_bbb"));
	fprintf(stderr, "t_ccc is unique? (%d)\n", component_is_unique_tunnel(component, "t_ccc"));
	fprintf(stderr, "t_ddd is unique? (%d)\n", component_is_unique_tunnel(component, "t_ddd"));

	/* append component by name */
	component_append_hook_by_name(component, "n_ccc", "h_ccc_append1");
	component_append_hook_by_name(component, "n_ccc", "h_ccc_append2");
	component_append_hook_by_name(component, "n_eee", "h_eee_append1");
	component_display(component);

	/* remove component by name */
	DEBUG_PRINT();
	component_remove_hook_by_name(component, "n_ccc", "h_ccc");
	component_remove_hook_by_name(component, "n_ddd", "h_ddd");
	component_remove_hook_by_name(component, "n_eee", "h_eee_2");
	component_remove_hook_by_name(component, "n_eee", "h_eee_3");
	component_remove_hook_by_name(component, "n_fff", "h_fff");
	component_display(component);

	/* lookup node by name */
	node = component_lookup_node_by_name(component, "n_aaa");
	if (node) DEBUG_PRINT("find node name(%s)", node->name);
	node = component_lookup_node_by_name(component, "n_bbb");
	if (node) DEBUG_PRINT("find node name(%s)", node->name);
	node = component_lookup_node_by_name(component, "n_ccc");
	if (node) DEBUG_PRINT("find node name(%s)", node->name);
	node = component_lookup_node_by_name(component, "n_ddd");
	if (node) DEBUG_PRINT("find node name(%s)", node->name);
	node = component_lookup_node_by_name(component, "n_eee");
	if (node) DEBUG_PRINT("find node name(%s)", node->name);
	node = component_lookup_node_by_name(component, "n_fff");
	if (node) DEBUG_PRINT("find node id(%s)", node->name);

	/* lock by name */
	int ret;
	ret = component_lock_by_name(component, "n_aaa");
	DEBUG_PRINT("lock by name return code(%d)", ret);
	ret = component_lock_by_name(component, "n_bbb");
	DEBUG_PRINT("lock by name return code(%d)", ret);
	ret = component_lock_by_name(component, "n_ccc");
	DEBUG_PRINT("lock by name return code(%d)", ret);
	ret = component_lock_by_name(component, "n_ddd");
	DEBUG_PRINT("lock by name return code(%d)", ret);
	ret = component_lock_by_name(component, "n_eee");
	DEBUG_PRINT("lock by name return code(%d)", ret);
	ret = component_lock_by_name(component, "n_fff");
	DEBUG_PRINT("lock by name return code(%d)", ret);
	ret = component_lock_by_name(component, "n_aaa");
	DEBUG_PRINT("lock by name return code(%d)", ret);
	ret = component_lock_by_name(component, "n_bbb");
	DEBUG_PRINT("lock by name return code(%d)", ret);
	ret = component_lock_by_name(component, "n_ccc");
	DEBUG_PRINT("lock by name return code(%d)", ret);
	ret = component_lock_by_name(component, "n_ddd");
	DEBUG_PRINT("lock by name return code(%d)", ret);
	ret = component_lock_by_name(component, "n_eee");
	DEBUG_PRINT("lock by name return code(%d)", ret);
	ret = component_lock_by_name(component, "n_fff");
	DEBUG_PRINT("lock by name return code(%d)", ret);
	component_display(component);

	/* unlock by name */
	ret = component_unlock_by_name(component, "n_aaa");
	DEBUG_PRINT("unlock by name return code(%d)", ret);
	ret = component_unlock_by_name(component, "n_bbb");
	DEBUG_PRINT("unlock by name return code(%d)", ret);
	ret = component_unlock_by_name(component, "n_ccc");
	DEBUG_PRINT("unlock by name return code(%d)", ret);
	ret = component_unlock_by_name(component, "n_ddd");
	DEBUG_PRINT("unlock by name return code(%d)", ret);
	ret = component_unlock_by_name(component, "n_eee");
	DEBUG_PRINT("unlock by name return code(%d)", ret);
	ret = component_unlock_by_name(component, "n_fff");
	DEBUG_PRINT("unlock by name return code(%d)", ret);
	ret = component_unlock_by_name(component, "n_aaa");
	DEBUG_PRINT("unlock by name return code(%d)", ret);
	ret = component_unlock_by_name(component, "n_bbb");
	DEBUG_PRINT("unlock by name return code(%d)", ret);
	ret = component_unlock_by_name(component, "n_ccc");
	DEBUG_PRINT("unlock by name return code(%d)", ret);
	ret = component_unlock_by_name(component, "n_ddd");
	DEBUG_PRINT("unlock by name return code(%d)", ret);
	ret = component_unlock_by_name(component, "n_eee");
	DEBUG_PRINT("unlock by name return code(%d)", ret);
	ret = component_unlock_by_name(component, "n_fff");
	DEBUG_PRINT("unlock by name return code(%d)", ret);
	component_display(component);

	/* free */
	component_free(component);



	/* get name by hook */
	DEBUG_PRINT();
	component = component_init();
	component_add_node(component, "n_aaa", "d_aaa", "t_aaa", "r_aaa", NULL, 0, 111, 0);
	component_add_node(component, "n_bbb", NULL, "t_bbb", "r_bbb", "n_aaa", 1, 222, 0);
	component_add_node(component, "n_ccc", NULL, "t_ccc", "r_ccc", "n_aaa", 1, 333, 0);
	component_display(component);

	char *names = NULL;
	unsigned int names_count;
	names = component_get_names_by_hook(component, "n_aaa", &names_count);
	if (names_count > 0) {
		for (i = 0; i < names_count; i++) DEBUG_PRINT("get names(%s) by hook(%s)", names + i * COMPONENT_NAME_LEN, "n_aaa");
		free(names);
	}
	names = component_get_names_by_hook(component, "n_bbb", &names_count);
	if (names_count > 0) {
		for (i = 0; i < names_count; i++) DEBUG_PRINT("get names(%s) by hook(%s)", names + i * COMPONENT_NAME_LEN, "n_bbb");
		free(names);
	}
	names = component_get_names_by_hook(component, "n_ccc", &names_count);
	if (names_count > 0) {
		for (i = 0; i < names_count; i++) DEBUG_PRINT("get names(%s) by hook(%s)", names + i * COMPONENT_NAME_LEN, "n_ccc");
		free(names);
	}

	/* free */
	component_free(component);

	return 0;
}