示例#1
0
/** Open registered engines */
MRCP_DECLARE(apt_bool_t) mrcp_engine_factory_open(mrcp_engine_factory_t *factory)
{
	mrcp_engine_t *engine;
	apr_hash_index_t *it;
	void *val;
	it = apr_hash_first(factory->pool,factory->engines);
	for(; it; it = apr_hash_next(it)) {
		apr_hash_this(it,NULL,NULL,&val);
		engine = val;
		if(engine) {
			mrcp_engine_virtual_open(engine);
		}
	}
	return TRUE;
}
示例#2
0
static void mrcp_server_on_start_request(apt_task_t *task)
{
	apt_consumer_task_t *consumer_task = apt_task_object_get(task);
	mrcp_server_t *server = apt_consumer_task_object_get(consumer_task);

	mrcp_engine_t *engine;
	apr_hash_index_t *it;
	void *val;
	it = mrcp_engine_factory_engine_first(server->engine_factory);
	for(; it; it = apr_hash_next(it)) {
		apr_hash_this(it,NULL,NULL,&val);
		engine = val;
		if(engine) {
			if(mrcp_engine_virtual_open(engine) == TRUE) {
				apt_task_start_request_add(task);
			}
		}
	}
}