Ejemplo n.º 1
0
service_pt serviceComponent_create(bundle_context_pt context, dependency_manager_pt manager) {
    service_pt service;
    apr_pool_t *pool;
	apr_pool_t *mypool;

	bundleContext_getMemoryPool(context, &pool);
	apr_pool_create(&mypool, pool);

	if (mypool) {
        service = (service_pt) apr_pcalloc(mypool, sizeof(*service));
        service->pool = mypool;
        service->impl = NULL;
        service->serviceName = NULL;
        service->serviceRegistration = NULL;
        service->dependencies = NULL;
        arrayList_create(&service->dependencies);

        service->init = service_init;
        service->start= service_start;
        service->stop = service_stop;
        service->destroy = service_destroy;

        service->context = context;
        service->manager = manager;
        service->state = state_create(arrayList_clone(service->dependencies), false);
        service->executor = executor_create(mypool);

		apr_thread_mutex_create(&service->mutex, APR_THREAD_MUTEX_UNNESTED, mypool);
	}

	return service;
}
Ejemplo n.º 2
0
int main(int argc, char* argv[]) {
    struct Executor e;   
    executor_create(&e,"register.txt","errors.txt");
    executor_run(&e);
    exit(0);
}