Ejemplo n.º 1
0
int main() {
			
	int option = 0;
	
	TREE *tree;
	tree = Tree_create();
	
	/* Resgatar os dados do arquivo ao iniciar o programa */
	resgatar_dados_arquivo(&(tree->root));
	
	while(option != 6) 	{
	
		print_menu();
		
		inserir_inteiro(&option);
	
		switch(option)	{
			case 1:
				menu_cadastrar(&(tree->root));
				break;
			case 2:
				menu_consultar(tree->root);
				break;
			case 3:
				menu_excluir(tree->root);
				break;
			case 4:
				menu_mostrar_relacao(tree->root);
				break;
			case 5:
				menu_gerar_relatorio(tree->root);
				break;
			case 6:
				destroy_all(tree->root);
				exit(EXIT_SUCCESS);
				break;
			default:
				printf("\nOpcao invalida!\n");
				break;
		}	
	}

	destroy_all(tree->root);
	return 0;
}
Ejemplo n.º 2
0
int main()
{
	Insert_front(10);
	Insert_after(start,1);
	Insert_end(100);
	Insert_front(4);
	Insert_end(400);
	printf("Has Loop = %s\n", (PASS==has_loop())?"Yes":"No");
	print_all();
	start = reverse();
	printf("After Reversal:\n");
	print_all();
	reverse_using_recurrsion(start);
	printf("After Reversal:\n");
	print_all();

	destroy_all();

}
Ejemplo n.º 3
0
void main_menu()
{
 
  bool cont = false;
  root* root = create_new_root();
  /* 
  char* test = strdup("Hoppsanhejsna");
  free(test);
  printf("test: %s", test); */ // hur kan detta fungera??
  
  insert_new_ware(Warehouse, "Gurka", "grön", 11, "A11", 11);
  insert_new_ware(Warehouse, "Lampa", "skäggig", 1, "K8", 1);
  insert_new_ware(Warehouse, "Häst", "fulsfdkj", 34, "K5", 1);
  insert_new_ware(Warehouse, "Lars", "grön", 2, "F2", 1);
  insert_new_ware(Warehouse, "Berg", "högt", 10000, "G34", 3);
  insert_new_ware(Warehouse, "Igelkott", "högt", 10000, "G33", 3);
  insert_new_ware(Warehouse, "Danne", "skäggig", 1, "E2", 1);
  insert_new_ware(Warehouse, "Gös", "skäggig", 1, "E3", 1);
  insert_new_ware(Warehouse, "Apa", "skäggig", 1, "E4", 1);
  insert_new_ware(Warehouse, "Iller", "skäggig", 1, "K7", 1);
  insert_new_ware(Warehouse, "Hej hej", "skäggig", 1, "K9", 1);
 
  node* gurka = find_node(Top(Warehouse), "Gurka");
  add_shelf(gurka, "A5", 5);
  add_shelf(gurka, "A3", 3);
  add_shelf(gurka, "A6", 6);
  add_shelf(gurka, "A4", 4);
  add_shelf(gurka, "A5", 5);
  add_shelf(gurka, "A2", 2);
  add_shelf(gurka, "A5", 5);
   
  /* 
  puts("shelves");
  print_shelf_names(gurka, WithoutNumbers);
  print_line();
  gurka = remove_amount(gurka, 11);
  print_shelf_names(gurka, WithoutNumbers);
  print_line(); 
  
  puts("Warehouse now");
  printWarehouse();

  puts("removes");
  remove_node(root, find_node(Top(Warehouse), "Häst"));
  puts("removed");
  puts("New Warehouse");
  printWarehouse();
  print_line();
  */
 
  while (!cont)
    {
      print_main_menu();

      int answer = ask_int_q("\nWhat would you like to do?", 0, 5);

      switch (answer)
	{
	case 1: add_ware_IO(root);
	  break;

	case 2: remove_item_IO(root);
	  break;

	case 3: edit_item_IO(root);
	  break;

	case 4: show_warehouse_IO(root, Warehouse);
	  break;

	case 5: add_item_to_cart_IO(root);
	  break;

	case 0: cont = exit_warehouse();
	  break;
	  
	default: puts ("defaaaaauuuuuult");	    
	}
    }
  destroy_all(root);
}
Ejemplo n.º 4
0
void OverlayManager::delete_all_overlays() {
    destroy_all();
}
Ejemplo n.º 5
0
void StageManager::delete_all_stages() {
    destroy_all();
}
Ejemplo n.º 6
0
void CameraManager::delete_all_cameras() {
    destroy_all();
}
Ejemplo n.º 7
0
int main(int argc,char *argv[]) {
	fd_count=0;
	lgfile=fopen("logfile.txt","w");

	/* Locking File Config */
	file_lock.l_type   = F_WRLCK;  /* F_RDLCK, F_WRLCK, F_UNLCK    */
	file_lock.l_whence = SEEK_SET; /* SEEK_SET, SEEK_CUR, SEEK_END */
	file_lock.l_start  = 0;        /* Offset from l_whence         */
	file_lock.l_len    = 0;        /* length, 0 = to EOF           */
	file_lock.l_pid    = getpid(); /* our PID */
	/*Locking File Config */

	strcpy(home_folder,argv[2]);
	strcpy(address,argv[3]);
	strcpy(dest_folder,argv[4]);
	int fd=fd_update(home_folder,-1);

	/* Initalizing linked-list head */
	pid_list.starting=NULL;
	pid_list.last=NULL;
	/*Initializing linked list head */

	/* Setting signal. */
	signal(SIGINT,sigint_handler);
	signal(SIGALRM,timeout);
	/* Setting signal. */

	struct reading_info input;
	input.fd=fd;
	alarm(atoi(argv[1]));
	event_occurred_count=0;
	subprocess_count=0;
	/*Creating thread for inotify. */

	int retvalue;
	if ((retvalue=pthread_create(&inotify_thread,NULL,&wait_for_events,&input))) {
		printf("Thread creation failure. Code: %d\n",retvalue);
	}
	/*Initializing thread-lock variable*/
	if ((pthread_mutex_init(&inotify_event_lock,NULL))) {
		printf("Lock initialization error. Fatal.\n:");
		exit(EXIT_FAILURE);
	}
	/*Initializing thread-lock variable*/
	int status1,i;
	char com[80];
	if (test_if_dir_exists(home_folder)!=0) {
		printf("Making dir...\n");
		sprintf(com,"mkdir %s",home_folder);
		exec_pipe(com,0);
		waitpid(-1,&status1,0);
	}

	/* An initial rsync to sync the two folders */
	sprintf(com,"rsync -azsre ssh --delete \"%s/\" \"%s:%s\"",home_folder,address,dest_folder);
	int sleeptime_initial=5;
	char *temp=(char *)malloc(sizeof(char)*(strlen(com)+3));
	strcpy(temp,com);
	int exit_status=exec_pipe(com,0);
	waitpid(exit_status,&status1,0);
	while (WEXITSTATUS(status1)!=0) {
		strcpy(com,temp);
		exit_status=exec_pipe(com,sleeptime_initial);
		waitpid(exit_status,&status1,0);
		if (sleeptime_initial<1280) {sleeptime_initial*=2;}
	}
	/* An initial rsync to sync the two folders */

	while(1) {
		if (event_occurred_count!=0 && subprocess_count<MAX_EVENT_STACK_SIZE) {	 
			pthread_mutex_lock(&inotify_event_lock);
			int i=0;
			while (i<event_occurred_count) {
				read_event_shell(event_stack[i],fd);
				event_stack[i]=NULL;
				i+=1;
			}
			event_occurred_count=0;
			pthread_mutex_unlock(&inotify_event_lock);
		}
		for (i=0;i<2;i++) {
			poll_pids();
			sleep(1);
		}
	}
	destroy_all();
	fclose(lgfile);
	return 0;
}