コード例 #1
0
void test_repositorySave()
{
	Repository repo;
	repository_init(&repo, "repoTests.txt");

	assert(_msize(repo.objects) == sizeof(Vector));

	assert(vector_getLen(repo.objects) == 10);

	// Create object
	StoreObject* obj = malloc(sizeof(StoreObject));
	Product* prod = malloc(sizeof(Product));
	product_init(prod, "Chitara", "Conteaza", "MadeInChina");
	storeObject_init(obj, 15, prod, 100, "azi", 200);

	// Add Object
	repository_AddObject(&repo, obj);

	repository_Save(&repo);
	repository_destroy(&repo);

	Repository repo2;
	repository_init(&repo2, "repoTests.txt");

	assert(_msize(repo2.objects) == sizeof(Vector));

	assert(vector_getLen(repo2.objects) == 11);

	repository_DeleteObjectByID(&repo2, 15);
	repository_Save(&repo2);

	repository_destroy(&repo2);
}
コード例 #2
0
void test_repositoryCreateDestroy()
{
	Repository repo;
	repository_init(&repo, "repoTests.txt");

	assert(_msize(repo.objects) == sizeof(Vector));

	assert(vector_getLen(repo.objects) == 10);

	// Test 2 elements
	// #1
	assert(storeObject_GetID(vector_getAt(repo.objects, 1)) == 2);
	assert(!strcmp(product_GetType(storeObject_GetProduct(vector_getAt(repo.objects, 1))), "Laptop"));
	assert(!strcmp(product_GetModel(storeObject_GetProduct(vector_getAt(repo.objects, 1))), "v3.2"));
	assert(!strcmp(product_GetManufacturer(storeObject_GetProduct(vector_getAt(repo.objects, 1))), "Lenovo"));
	assert(storeObject_GetPrice(vector_getAt(repo.objects, 1)) == 5200);
	assert(storeObject_GetQuantity(vector_getAt(repo.objects, 1)) == 69);

	// #2
	assert(storeObject_GetID(vector_getAt(repo.objects, 9)) == 10);
	assert(!strcmp(product_GetType(storeObject_GetProduct(vector_getAt(repo.objects, 9))), "Laptop"));
	assert(!strcmp(product_GetModel(storeObject_GetProduct(vector_getAt(repo.objects, 9))), "v12.3"));
	assert(!strcmp(product_GetManufacturer(storeObject_GetProduct(vector_getAt(repo.objects, 9))), "HP"));
	assert(storeObject_GetPrice(vector_getAt(repo.objects, 9)) == 2200);
	assert(storeObject_GetQuantity(vector_getAt(repo.objects, 9)) == 69);


	repository_destroy(&repo);
	//assert(_msize(repo.objects) == -1);
	//assert(_msize(repo.fileName) == -1);
}
コード例 #3
0
ファイル: gir.c プロジェクト: desiderantes/guile-gir
void 
init ()
{
        g_type_init ();
        scm_c_eval_string ("(use-modules (gnome-2) (gnome gobject))");

        repository_init ();
        types_init ();
        registered_type_init ();
        object_init ();
        function_init ();
        callable_init ();
        argument_init ();
}
コード例 #4
0
ファイル: main.c プロジェクト: mariusadam/simple-mvc-c-style
void run_app() {
	/*  
	 * Builder for the application
	 */
	Repository* repo = repository_init("Files/cheltuieli.txt");
	Validator* valid = validator_init();
	Controller* ctr = controller_init(repo, valid);
	Console* cons = console_init(ctr);
	
	console_run(cons);

	console_destroy(cons);
	controller_destroy(ctr);
	validator_destroy(valid);
	repository_destroy(repo);
}
コード例 #5
0
void test_repositoryAddObject()
{
	Repository repo;
	repository_init(&repo, "repoTests.txt");

	assert(_msize(repo.objects) == sizeof(Vector));

	assert(vector_getLen(repo.objects) == 10);

	// Test 2 elements
	// #1
	assert(storeObject_GetID(vector_getAt(repo.objects, 1)) == 2);
	assert(!strcmp(product_GetType(storeObject_GetProduct(vector_getAt(repo.objects, 1))), "Laptop"));
	assert(!strcmp(product_GetModel(storeObject_GetProduct(vector_getAt(repo.objects, 1))), "v3.2"));
	assert(!strcmp(product_GetManufacturer(storeObject_GetProduct(vector_getAt(repo.objects, 1))), "Lenovo"));
	assert(storeObject_GetPrice(vector_getAt(repo.objects, 1)) == 5200);
	assert(storeObject_GetQuantity(vector_getAt(repo.objects, 1)) == 69);

	// #2
	assert(storeObject_GetID(vector_getAt(repo.objects, 9)) == 10);
	assert(!strcmp(product_GetType(storeObject_GetProduct(vector_getAt(repo.objects, 9))), "Laptop"));
	assert(!strcmp(product_GetModel(storeObject_GetProduct(vector_getAt(repo.objects, 9))), "v12.3"));
	assert(!strcmp(product_GetManufacturer(storeObject_GetProduct(vector_getAt(repo.objects, 9))), "HP"));
	assert(storeObject_GetPrice(vector_getAt(repo.objects, 9)) == 2200);
	assert(storeObject_GetQuantity(vector_getAt(repo.objects, 9)) == 69);

	// Create object
	StoreObject* obj = malloc(sizeof(StoreObject));
	Product* prod = malloc(sizeof(Product));
	product_init(prod, "Chitara", "Conteaza", "Made In China");
	storeObject_init(obj, 15, prod, 100, "azi", 200);

	// Add Object
	repository_AddObject(&repo, obj);

	assert(vector_getLen(repo.objects) == 11);

	assert(!strcmp(product_GetType(storeObject_GetProduct(vector_getAt(repo.objects, 10))), "Chitara"));
	assert(!strcmp(product_GetModel(storeObject_GetProduct(vector_getAt(repo.objects, 10))), "Conteaza"));
	assert(!strcmp(product_GetManufacturer(storeObject_GetProduct(vector_getAt(repo.objects, 10))), "Made In China"));
	assert(storeObject_GetPrice(vector_getAt(repo.objects, 10)) == 100);
	assert(storeObject_GetQuantity(vector_getAt(repo.objects, 10)) == 200);

	repository_destroy(&repo);
}
コード例 #6
0
void test_repositoryFindByID()
{
	Repository repo;
	repository_init(&repo, "repoTests.txt");

	assert(_msize(repo.objects) == sizeof(Vector));

	assert(vector_getLen(repo.objects) == 10);

	StoreObject* obj = repository_FindByID(&repo, 5);
	assert(storeObject_GetID(obj) == 5);
	assert(!strcmp(product_GetType(storeObject_GetProduct(obj)), "Laptop"));
	assert(!strcmp(product_GetModel(storeObject_GetProduct(obj)), "v2.2"));
	assert(!strcmp(product_GetManufacturer(storeObject_GetProduct(obj)), "Dell"));
	assert(storeObject_GetPrice(obj) == 7200);
	assert(storeObject_GetQuantity(obj) == 89);

	repository_destroy(&repo);
}
コード例 #7
0
void test_repositoryDeleteByID()
{
	Repository repo;
	repository_init(&repo, "repoTests.txt");

	assert(_msize(repo.objects) == sizeof(Vector));

	assert(vector_getLen(repo.objects) == 10);

	StoreObject* obj6 = repository_FindByID(&repo, 6);
	int oldSize = repository_GetSize(&repo);

	// remove Obj5 and test if obj6 is in his place
	repository_DeleteObjectByID(&repo, 5);

	assert(repository_GetSize(&repo) == oldSize - 1);
	assert(vector_getAt(repo.objects, 4) == obj6);

	repository_destroy(&repo);
}
コード例 #8
0
ファイル: main.c プロジェクト: yystju/lidar
int start(int is_daemon) {
    debug("[START]>>\n");
    
    //Init...
    
    if(is_daemon) {
        init_deamon_process();
    }
    
    int cpu_core_count = (int)sysconf(_SC_NPROCESSORS_CONF);
    
    debug("cpu_core_count = %d\n", cpu_core_count);
    
    Configuration * configurations = read_configuration_file("./main.ini", 10);
    
    const char * repo_root = (const char *)get_configuration(configurations, "repository.root");
    
    debug("repo_root : %s\n", repo_root);
    
    REPOSITORY * repo = repository_init(repo_root);
    
    REPO_ITEM * item = repository_new_item(repo);
    
    debug("item : %s\n", item->uuid);
    
    FILE * fp_lidar_2368 = repository_open_write_file(item, "lidar.raw");
    FILE * fp_lidar_8308 = repository_open_write_file(item, "sync.raw");
    FILE * fp_ins = repository_open_write_file(item, "ins.bin");
    
    debug("fp_lidar_2368 : %p\n", fp_lidar_2368);
    debug("fp_lidar_8308 : %p\n", fp_lidar_8308);
    debug("fp_ins : %p\n", fp_ins);
    
    //Start processing threads.
    
//  pthread_t main_thread_handler = pthread_self();
	pthread_t xsens_thread_handler;
	
	pthread_t lidar_10110_thread_handler;
    pthread_t lidar_2368_thread_handler;
    pthread_t lidar_8308_thread_handler;
	
	XsensThreadData xsensThreadData;
	xsensThreadData.configurations = configurations;
	xsensThreadData.fp = fp_ins;
	
	LiDAR10110ThreadData lidar10110ThreadData;
	lidar10110ThreadData.configurations = configurations;
	
	pthread_create(&xsens_thread_handler, NULL, xsenThread, (void *)(&xsensThreadData));
	bind_thread_cpu(xsens_thread_handler, cpu_core_count - 4);
	
	pthread_create(&lidar_10110_thread_handler, NULL, lidar10110Thread, (void *)&lidar10110ThreadData);
	bind_thread_cpu(lidar_10110_thread_handler, cpu_core_count - 1);
	
	pthread_create(&lidar_2368_thread_handler, NULL, lidar2368Thread, (void *)fp_lidar_2368);
	bind_thread_cpu(lidar_2368_thread_handler, cpu_core_count - 2);
	
	pthread_create(&lidar_8308_thread_handler, NULL, lidar8308Thread, (void *)fp_lidar_8308);
	bind_thread_cpu(lidar_8308_thread_handler, cpu_core_count - 3);
	
	debug("Waiting for any key...\n");
	
	if(!is_daemon) {
    	fputs("Press any key...", stdout);
    	fgetc(stdin);
    	
    	done = 1;
    	
    	debug("Key has been pressed.\n");
    	debug("Start to dispose...\n");
	} else {
	    signal(SIGQUIT, daemon_exit_handler);
	}
	
	pthread_join(lidar_2368_thread_handler, (void *)NULL);
	pthread_join(lidar_8308_thread_handler, (void *)NULL);
	pthread_join(xsens_thread_handler, (void *)NULL);
 	pthread_join(lidar_10110_thread_handler, (void *)NULL);
	
	//Dispose...
    
    fclose(fp_lidar_8308);
    fclose(fp_lidar_2368);
    fclose(fp_ins);
    
    repository_close_item(item);
    
    repository_dispose(repo);
    
    dispose_configuration(configurations);
    
    pthread_exit(NULL);
    
    debug("[START]<<\n");
    
    return 0;
}