/** 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; }
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); } } } }