int main(int argc, char *argv[]) { librdf_world *world; world=librdf_new_world(); librdf_world_init_mutex(world); librdf_init_digest(world); librdf_init_hash(world); librdf_init_uri(world); librdf_init_node(world); librdf_init_concepts(world); librdf_finish_concepts(world); librdf_finish_node(world); librdf_finish_uri(world); librdf_finish_hash(world); librdf_finish_digest(world); LIBRDF_FREE(librdf_world, world); /* keep gcc -Wall happy */ return(0); }
int main(int argc, char *argv[]) { librdf_storage* storage; char *program=argv[0]; librdf_world *world; world=librdf_new_world(); /* initialise hash, model and storage modules */ librdf_init_hash(world); librdf_init_storage(world); librdf_init_model(world); fprintf(stdout, "%s: Creating storage\n", program); storage=librdf_new_storage(world, NULL, "test", NULL); if(!storage) { fprintf(stderr, "%s: Failed to create new storage\n", program); return(1); } fprintf(stdout, "%s: Opening storage\n", program); if(librdf_storage_open(storage, NULL)) { fprintf(stderr, "%s: Failed to open storage\n", program); return(1); } /* Can do nothing here since need model and storage working */ fprintf(stdout, "%s: Closing storage\n", program); librdf_storage_close(storage); fprintf(stdout, "%s: Freeing storage\n", program); librdf_free_storage(storage); /* finish model and storage modules */ librdf_finish_model(world); librdf_finish_storage(world); librdf_finish_hash(world); LIBRDF_FREE(librdf_world, world); /* keep gcc -Wall happy */ return(0); }
/** * librdf_free_world: * @world: redland world object * * Terminate the library and frees all allocated resources. **/ void librdf_free_world(librdf_world *world) { if(!world) return; librdf_finish_serializer(world); librdf_finish_parser(world); librdf_finish_storage(world); librdf_finish_query(world); librdf_finish_model(world); librdf_finish_statement(world); librdf_finish_concepts(world); librdf_finish_node(world); librdf_finish_uri(world); librdf_finish_hash(world); librdf_finish_digest(world); librdf_finish_raptor(world); #ifdef WITH_THREADS if(world->hash_datums_mutex) { pthread_mutex_destroy(world->hash_datums_mutex); SYSTEM_FREE(world->hash_datums_mutex); world->hash_datums_mutex = NULL; } if(world->statements_mutex) { pthread_mutex_destroy(world->statements_mutex); SYSTEM_FREE(world->statements_mutex); world->statements_mutex = NULL; } if(world->nodes_mutex) { pthread_mutex_destroy(world->nodes_mutex); SYSTEM_FREE(world->nodes_mutex); world->nodes_mutex = NULL; } if(world->mutex) { pthread_mutex_destroy(world->mutex); SYSTEM_FREE(world->mutex); world->mutex = NULL; } #endif #ifdef MODULAR_LIBRDF if (world->ltdl_opened) lt_dlexit(); #endif LIBRDF_FREE(librdf_world, world); }
int main(int argc, char *argv[]) { librdf_world *world; librdf_uri* prefix_uri; librdf_node* nodes[ITERATOR_NODES_COUNT]; int i; librdf_iterator* iterator; int count; char *program=argv[0]; world=librdf_new_world(); librdf_world_init_mutex(world); librdf_init_hash(world); librdf_init_uri(world); librdf_init_node(world); prefix_uri=librdf_new_uri(world, (const unsigned char*)NODE_URI_PREFIX); if(!prefix_uri) { fprintf(stderr, "%s: Failed to create prefix URI\n", program); return(1); } for(i=0; i < ITERATOR_NODES_COUNT; i++) { unsigned char buf[2]; buf[0]='a'+i; buf[1]='\0'; nodes[i]=librdf_new_node_from_uri_local_name(world, prefix_uri, buf); if(!nodes[i]) { fprintf(stderr, "%s: Failed to create node %i (%s)\n", program, i, buf); return(1); } } fprintf(stdout, "%s: Creating static node iterator\n", program); iterator=librdf_node_static_iterator_create(nodes, ITERATOR_NODES_COUNT); if(!iterator) { fprintf(stderr, "%s: Failed to createstatic node iterator\n", program); return(1); } fprintf(stdout, "%s: Listing static node iterator\n", program); count=0; while(!librdf_iterator_end(iterator)) { librdf_node* i_node=(librdf_node*)librdf_iterator_get_object(iterator); if(!i_node) { fprintf(stderr, "%s: librdf_iterator_current return NULL when not end o fiterator\n", program); return(1); } fprintf(stdout, "%s: node %d is: ", program, count); librdf_node_print(i_node, stdout); fputc('\n', stdout); if(!librdf_node_equals(i_node, nodes[count])) { fprintf(stderr, "%s: static node iterator node %i returned unexpected node\n", program, count); librdf_node_print(i_node, stderr); fputs(" rather than ", stdout); librdf_node_print(nodes[count], stderr); fputc('\n', stdout); return(1); } librdf_iterator_next(iterator); count++; } librdf_free_iterator(iterator); if(count != ITERATOR_NODES_COUNT) { fprintf(stderr, "%s: Iterator returned %d nodes, expected %d\n", program, count, ITERATOR_NODES_COUNT); return(1); } fprintf(stdout, "%s: Static node iterator worked ok\n", program); fprintf(stdout, "%s: Freeing nodes\n", program); for (i=0; i<ITERATOR_NODES_COUNT; i++) { librdf_free_node(nodes[i]); } librdf_free_uri(prefix_uri); librdf_finish_node(world); librdf_finish_uri(world); librdf_finish_hash(world); LIBRDF_FREE(librdf_world, world); /* keep gcc -Wall happy */ return(0); }