Example #1
0
int main(void)
{
    user_tests();
    queue_tests();
    user_t user1 = user_new(1);
    user_t user2 = user_new(2);
    queue_t pQueue = queue_new();

    clock_t start;
    fflush(stdout);
    char c = 'f';
    while(c != '-')
    {
        start = clock();
        while(clock() - start < CLOCKS_PER_SEC/30)
        {
            user_checkComm(user1, user2, pQueue);
        }
            queue_print(pQueue);
            printf("\n");
            queue_countNull(pQueue);
            c = getch();
    }

    user_delete(user1);
    user_delete(user2);
    queue_delete(pQueue);

    return 0;
}
Example #2
0
static void ppassed_Count_byType_wasZero_passedThreeType3(void **state)
{
    terminal_t * terminal = terminal_new(1);
    int funcRes = terminal_passed_count_byType(terminal,3);
    int correct = 0;
    assert_int_equal(funcRes,correct);
    user_t * user1 =user_new("Random","guy",3);
    user_t * user2 =user_new("Random","american",3);
    user_t * user3 =user_new("Random","girl",3);
    turnstile_t * ts1 = turnstile_new(1);
    turnstile_pass(ts1,user1);
    turnstile_pass(ts1,user2);
    turnstile_t* ts2 = turnstile_new(2);
    turnstile_pass(ts2,user3);
    terminal_add_turnstile(terminal,ts1);
    terminal_add_turnstile(terminal,ts2);
    funcRes = terminal_passed_count_byType(terminal,3);
    correct = 3;
    assert_int_equal(funcRes,correct);
    user_free(user1);
    user_free(user2);
    user_free(user3);
    turnstile_free(ts1);
    turnstile_free(ts2);
    terminal_free(terminal);
}
Example #3
0
int main(void)
{
    srand(time(NULL));

    cmocka_tests();
    getchar();
    system("cls");

    queue_t * queue = queue_new();

    user_t * user1 = user_new("User1");
    user_t * user2 = user_new("User2");
    user_t * user3 = user_new("User3");

    user_t * userArr[] =
    {
        user1,
        user2,
        user3
    };

    int userArrSize = sizeof(userArr)/sizeof(userArr[0]);

    event_t* firstEvent = event_new("First event");
    event_t* secondEvent = event_new("Second event");
    event_t* thirdEvent = event_new("Third event");

    event_addReceiver(firstEvent, user1, alert_callback);
    event_addReceiver(firstEvent, user2, alert_callback);
    event_addReceiver(secondEvent, user1, alert_callback);
    event_addReceiver(thirdEvent, user1, alert_callback);
    event_addReceiver(secondEvent, user2, alert_callback);
    event_addReceiver(thirdEvent, user3, alert_callback);
    event_addReceiver(secondEvent, user3, alert_callback);
    event_addReceiver(thirdEvent, user2, alert_callback);

    while(!kbhit() && queue_status(queue) != QUEUE_FULL)
    {
        queue_start(firstEvent, secondEvent, thirdEvent, queue);
    }

    event_free(firstEvent);
    event_free(secondEvent);
    event_free(thirdEvent);

    for(int i = 0; i<userArrSize; i++)
        user_free(userArr[i]);

    queue_free(queue);

    return 0;
}
Example #4
0
int main(void){
    chat_t * chat = chat_new("First Chat");
    printf("1st task(Chat name is) : %s\n", get_chat_name(chat));//1st task

    user_t * firstUser = user_new("Dima", "Diachenko", 18);
    chat_add_user(chat, firstUser);
    user_t * secondUser = user_new("Gleb", "Davidov", 18);
    chat_add_user(chat, secondUser); //6th task

    list_t * users_list = list_new();
    users_list = chat_get_list_of_users(chat);

    printf("4th task (and 6th task)(Users in list) : %i\n", list_getSize(users_list));//4th task

    printf("2d task : List of users:\n"); // 2d task
    for(int i = 0; i < list_getSize(users_list); i++){
        user_t * tmp  = (user_t*) list_get(users_list, i);
        printf("%s %s %i\n", user_get_name(tmp), user_get_surname(tmp), user_get_age(tmp));
    }

    printf("7th task : %s - this user was removed!\n", user_get_surname(chat_remove_user_by_surname(chat, "Davidov")));//7th task

    users_list = chat_get_list_of_users(chat);

    printf("2d task : List of users:\n"); // 2d task
    for(int i = 0; i < list_getSize(users_list); i++){
        user_t * tmp  = (user_t*) list_get(users_list, i);
        printf("%s %s %i\n", user_get_name(tmp), user_get_surname(tmp), user_get_age(tmp));
    }

    message_t * msg1 = message_new("Hello!", firstUser);

    chat_add_message(chat, msg1);//8th task
    printf("8th task: added message to chat:\n%s:\t%s\n", user_get_surname(get_owner(msg1)), get_message_text(msg1));

    list_t * msgs_list = list_new();
    msgs_list = get_list_of_messages_of_one_user(chat, firstUser);//5th task
    printf("5th task : Messages of user %s\n", user_get_surname(firstUser));
    for(int i = 0; i < list_getSize(msgs_list); i++){
        message_t * tmpmsg = list_get(msgs_list, i);
        printf("%s\n", get_message_text(tmpmsg));
    }

    msgs_list = get_last_messages(chat, 1);
    printf("3d task : List of last messages(1):\n");
    for(int i = 0; i < list_getSize(msgs_list); i++){
        message_t * tmpmsg = list_get(msgs_list, i);
        printf("%s\n", get_message_text(tmpmsg));
    }

    return 0;
}
Example #5
0
struct user *user_get(char *prefix)
{
	struct user *user;

	user = user_find(prefix);
	return user ? user : user_new(prefix);
}
Example #6
0
int main()
{
    valerooncom_t * myNetwork = valerooncom_new();
    user_t * Valera = user_new(8, "valerik", "Valera", "Babenko", 18, "Ukraine", myNetwork);
    user_t * Igor = user_new(7, "igormet", "Igor", "Babenko", 18, "Lvov", myNetwork);
    user_t * myUser = user_get(myNetwork, 7);
    user_view(myUser);

    user_edit(7, myNetwork, "igoralpha", "Igor", "Babenko", 19, "Russia");
    post_t * postAboutMonster = post_new("My name is Igor and i'm a big monster!", Igor);

    //comment_new(Valera, postAboutMonster, "F**k, it's great!");

    user_view(Igor);
    return 0;
}
Example #7
0
message_t * message_new(const char * Msg, user_t * user){
    message_t * self = malloc(sizeof(message_t));
    self->owner = user_new(user_get_name(user), user_get_surname(user), user_get_age(user));
    self->msg = malloc(sizeof(char) * (strlen(Msg) + 1));
    self->msg = Msg;
    return self;
}
Example #8
0
static hub_t *
hub_new_from_hcd(hub_connect_data_t *hcd)
{
    DEBUG("creating new hub with nick %s...", hcd->nick);
    hub_t *hub = hub_new();
    if(hub == NULL)
    {
        WARNING("failed to create hub...");
        ui_send_status_message(NULL, NULL, "failed to create hub...");
        return NULL;
    }
    hub->me = user_new(hcd->nick, NULL, hcd->speed, hcd->description,
                       hcd->email, 0ULL, hub);
    hub->me->passive = hcd->passive;
    hub->password = xstrdup(hcd->password);
    hub->address = strdup(hcd->address);
    hub->port = hcd->port;
    free(hub->hubname);
    hub->hubname = strdup(hcd->address);
    hub->hubip = strdup(hcd->resolved_ip);
    if(hcd->encoding)
    {
        hub_set_encoding(hub, hcd->encoding);
    }

    hub_list_add(hub);
    hub_set_need_myinfo_update(true);

    ui_send_hub_add(NULL, hub->address, hub->hubname, hub->me->nick,
                    hub->me->description, hub->encoding);

    hub_set_idle_timeout(hub);

    return hub;
}
Example #9
0
struct user *user_get2(char *prefix, bool *existed)
{
	struct user *user;

	user = user_find(prefix);
	*existed = user != NULL;
	return user ? user : user_new(prefix);
}
Example #10
0
User * user_new_full(const gchar *id, const gchar *name, const gchar *desc,
	guint status)
{
	User *u;

	u = user_new(id);
	user_update(u, name, desc, status);

	return u;
}
Example #11
0
void test_store_user(test_t *t) {
    mem_init();

    user_t* user = user_new();
    mem_res res = mem_store_user(user);

    assert_eq_int(t,res, MEM_OK);

    user_free(user);
}
Example #12
0
User *input_create_user()
{
    User *user = user_new();
    printf("Name> ");

    fgets(user->name, USER_NAME_LENGTH, stdin);
    string_chomp(user->name);

    return user;
}
Example #13
0
int main(void) {
	srand(time(NULL));
	cmockaTest();
	puts("\nPress ANY KEY to continue...");
	getch();
	system("cls");

	queue_t * myQueue = queue_new();
	user_t * me = user_new("Me");
	user_t * firstuser = user_new("First");
	user_t * seconduser = user_new("Second");
	user_t * users[] = { me, firstuser, seconduser };
	int usersSize = sizeof(users) / sizeof(users[0]);

	event_t * firstEvent = event_new("10 measurements \\ everything OK (1st event)");
	event_t * secondEvent = event_new("last 5 measurements \\ not everything OK (2d event)");
	event_t * thirdEvent = event_new("last 5 measurements \\ everything NOT OK (3d event)");

	event_addAlertSingle(me, firstEvent, alert_fantasy);
	event_addAlertSingle(me, secondEvent, alert_master);
	event_addAlertSeveral(users, usersSize, thirdEvent, alert_common);
	while (!kbhit()) {
		event_start(firstEvent, secondEvent, thirdEvent, myQueue);
	}

	event_free(firstEvent);
	event_free(secondEvent);
	event_free(thirdEvent);

	for (int i = 0; i < usersSize; i++) {
		user_free(users[i]);
	}
	queue_free(myQueue);

	getch();
	puts("Press ANY KEY to exit the program...");
	getch();
	return 0;
}
Example #14
0
user_t * user_get(char *user)
{
    user_t *u;

    if(users == NULL) {
        users = hash_new(hash_str_cmp, hash_str_hash, 8);
    }

    u = hash_get(users, user);
    if(u)
        return u;

    return user_new(user);    
}
Example #15
0
/** Add a user to the users array. */
void
misc_callback_add_player(void)
{
#ifdef DEBUG
    printf("misc_callback_add_player\n");
#endif

    GtkTreeView *treeview_users =
	GTK_TREE_VIEW(lookup_widget(window.startup, "treeview_users"));
    GtkTreeView *treeview_startup =
	GTK_TREE_VIEW(lookup_widget(window.startup, "treeview_startup"));
    GtkEntry *entry_player_name = 
	GTK_ENTRY(lookup_widget(window.startup, "entry_player_name"));    
    GtkComboBox *combo_leagues =
	GTK_COMBO_BOX(lookup_widget(window.startup, "combobox_start_league"));
    const gchar *player_name = gtk_entry_get_text(entry_player_name);
    User new_user = user_new();
    Team *tm = (Team*)treeview_helper_get_pointer(treeview_startup, 2);
    gint start_league = 
	gtk_combo_box_get_active(combo_leagues);
    
    if(strlen(player_name) > 0)
	misc_string_assign(&new_user.name, player_name);
    
    gtk_entry_set_text(entry_player_name, "");
    
    new_user.tm = tm;
    new_user.team_id = tm->id;

    new_user.scout = (start_league == 0 || tm->clid == lig(start_league - 1).id) ? -1 : start_league - 1;
    
    g_array_append_val(users, new_user);

    treeview_show_users(treeview_users);

    treeview_show_team_list(treeview_startup, FALSE, FALSE);

    gtk_combo_box_set_active(GTK_COMBO_BOX(combo_leagues), 0);

    if(users->len == 1)
    {
	gtk_widget_set_sensitive(lookup_widget(window.startup, "team_selection_ok"), TRUE);
	gtk_widget_set_sensitive(lookup_widget(window.startup, "combo_country"), FALSE);
    }
}
static void
load_entries (Daemon             *daemon,
              GHashTable         *users,
              EntryGeneratorFunc  entry_generator)
{
        gpointer generator_state = NULL;
        struct passwd *pwent;
        User *user = NULL;

        g_assert (entry_generator != NULL);

        for (;;) {
                pwent = entry_generator (users, &generator_state);
                if (pwent == NULL)
                        break;

                /* Skip system users... */
                if (!user_classify_is_human (pwent->pw_uid, pwent->pw_name, pwent->pw_shell, NULL)) {
                        g_debug ("skipping user: %s", pwent->pw_name);
                        continue;
                }

                /* ignore duplicate entries */
                if (g_hash_table_lookup (users, pwent->pw_name)) {
                        continue;
                }

                user = g_hash_table_lookup (daemon->priv->users, pwent->pw_name);
                if (user == NULL) {
                        user = user_new (daemon, pwent->pw_uid);
                } else {
                        g_object_ref (user);
                }

                /* freeze & update users not already in the new list */
                g_object_freeze_notify (G_OBJECT (user));
                user_update_from_pwent (user, pwent);

                g_hash_table_insert (users, g_strdup (user_get_user_name (user)), user);
                g_debug ("loaded user: %s", user_get_user_name (user));
        }

        /* Generator should have cleaned up */
        g_assert (generator_state == NULL);
}
static User *
add_new_user_for_pwent (Daemon        *daemon,
                        struct passwd *pwent)
{
        User *user;

        user = user_new (daemon, pwent->pw_uid);
        user_update_from_pwent (user, pwent);
        user_register (user);

        g_hash_table_insert (daemon->priv->users,
                             g_strdup (user_get_user_name (user)),
                             user);

        accounts_accounts_emit_user_added (ACCOUNTS_ACCOUNTS (daemon), user_get_object_path (user));

        return user;
}
Example #18
0
/** Add a user to the users array. */
void
misc2_callback_add_user(void)
{
#ifdef DEBUG
    printf("misc2_callback_add_user\n");
#endif

    GtkTreeView *treeview_user_management_teams =
	GTK_TREE_VIEW(lookup_widget(window.user_management,
				    "treeview_user_management_teams"));
    GtkEntry *entry_user_management = 
	GTK_ENTRY(lookup_widget(window.user_management, "entry_user_management"));
    const gchar *user_name = gtk_entry_get_text(entry_user_management);
    User new_user = user_new();
    Team *tm = (Team*)treeview_helper_get_pointer(treeview_user_management_teams, 2);
    
    if(strlen(user_name) > 0)
    {
	misc_string_assign(&new_user.name, user_name);    
	gtk_entry_set_text(entry_user_management, "");
    }

    new_user.tm = tm;
    new_user.team_id = tm->id;

    user_history_add(&new_user, USER_HISTORY_START_GAME,
		     tm->name, league_cup_get_name_string(tm->clid),
		     NULL, NULL);

    g_array_append_val(users, new_user);

    file_load_user_conf_file(&usr(users->len - 1));

    user_set_up_team(&usr(users->len - 1), TRUE);

    treeview_show_users(
	GTK_TREE_VIEW(lookup_widget(window.user_management,
				    "treeview_user_management_users")));
    treeview_show_team_list(treeview_user_management_teams, FALSE, FALSE);

    setsav0;
}
Example #19
0
void chat_add_message(chat_t * chat, message_t * msg){
    list_t * tmp = list_new();
    tmp = chat_get_list_of_users(chat);
    for(int  i = 0; i < list_getSize(tmp); i++){ // if new user print a message
        user_t * tmpUser = (user_t*) list_get(tmp, i);
        if(strcmp(user_get_name(tmpUser), user_get_name(msg->owner)) != 0 ||
           strcmp(user_get_surname(tmpUser), user_get_surname(msg->owner)) != 0 ||
           user_get_age(tmpUser) != user_get_age(msg->owner))
        {
            if( i == (list_getSize(tmp) - 1)){
                list_push_back(chat, (void *) user_new(user_get_name(msg->owner),
                                        user_get_surname(msg->owner),user_get_age(msg->owner)));
                break;
            }
            continue;
        }
        else {
            break;
        }
    }
    list_push_back(chat->messages, (void*) msg);
}
Example #20
0
void draw_style()
{
	
	switch(cur_tool)
	{
		case 1:
			user_new();
			break;
		case 2:user_save();
				break;
		case 3:user_load();
			break;
			
		case 10:
		case 17:
			cur_panel=1;
			top_panel_background();
			top_panel_buttons(buttons_data[cur_tool-1],0,1);
			style_icon();
			break;
	}
}
Example #21
0
File: main.c Project: kostya9/OP
int main(void)
{
    puts("Running unit tests for module stack");
    runTests();
    puts("Press anything to proceed to testing events...\n");
    getch();

    user_t * user_daniil = user_new("Daniil");
    user_t * user_vasya = user_new("Vasya");
    user_t * user_natasha = user_new("Natasha");
    user_t * user_katya = user_new("Katya");
    user_t * user_petya = user_new("Petya");
    user_t * user_sasha = user_new("Sasha");

    unsigned int seconds = 10;
    event_t * event = event_new(time(NULL) + seconds, "THIS IS A SUPER DUPER EVENT YEEE");
    event_add_alert(event, user_daniil, normal_alert);
    event_add_alert(event, user_vasya, normal_alert);
    event_add_alert(event, user_natasha, strange_alert);
    printf("Event 1 going on in %i seconds. Waiting...\n", seconds);

    unsigned int seconds_two = 12;
    printf("Setting up event 2 (group) which will be in %i seconds. Waiting ...\n ", seconds_two);
    event_t * event_two = event_new(time(NULL) + seconds_two, "THIS IS A SUPER DUPER EVENT TWO");
    user_t * users[6] = {user_daniil, user_vasya, user_natasha, user_katya, user_petya, user_sasha};
    event_add_alert_group(event_two, users, arr_len(users), normal_alert);

    Sleep(20 * 1000);

    event_delete(event);
    event_delete(event_two);

    for(unsigned int i = 0; i < arr_len(users); i++)
        user_delete(users[i]);

    return EXIT_SUCCESS;
}
Example #22
0
void user_load()
{
	int a,b,w,px,i=-1;
	char filename[60],ch;
	restrictmouseptr(0,0,xmax,20);
	hidemouseptr();
	a=textwidth("Enter File Name");
	setfillstyle(1,BLUE);
	bar(0,0,xmax,20);
	settextstyle(0,0,1);
	setcolor(BLACK);
	outtextxy(10,5,"Enter File Name:");
	setfillstyle(1,WHITE);
	bar((a+10),2,(a+410),18);
	setfillstyle(1,CYAN);
	a=textwidth("No");
	bar((xmax-10-a),2,(xmax-10),18);
	b=a+10+textwidth("Load");
	bar((xmax-10-b),2,(xmax-20-a),18);
	setcolor(BLACK);
	outtextxy((xmax-9-b),3,"Load");
	outtextxy((xmax-9-a),3,"No");
	px=textwidth("Enter File Name")+10;
	while(1)
	{
	ch=get_filename(px,4);
	if(ch==13||ch==27)
	break;
	w=textwidth("A");
	px+=w;
	filename[++i]=ch;
	}
	filename[++i]='\0';
	showmouseptr();
	for(;;)
	{	
		getmousepos(&button,&mousex,&mousey);
		if(mousex>(xmax-10-a)&&mousex<(xmax-10)&&button==1)      //deny loading/saving
		{
			button_hover((xmax-10-a),2,(xmax-10),18);
			hidemouseptr();
			initmouse();
			top_panel_default();
			top_panel_buttons(tool_but_num,0,1);
			showmouseptr();
			break;
		}
	else if(mousex>(xmax-10-b)&&mousex<(xmax-20-a)&&button==1)        //confirm loading/saving
		{
			button_hover((xmax-10-b),2,(xmax-20-a),18);
			if(user_new())
			load_bitmap(filename);
			hidemouseptr();
			initmouse();
			top_panel_default();
			top_panel_buttons(tool_but_num,0,1);
			showmouseptr();
			break;
		}
	}
}	
Example #23
0
int main(void)
{
    /* initialize a memory-only database */
    fail_unless(db_init(NULL, NULL) == 0);

    /* initialize a share */
    global_share = share_new("/tmp");
    fail_unless(global_share);

    char *cwd = g_get_current_dir();
    fail_unless(share_add(global_share, cwd, TRUE) == 0);
    free(cwd);

    hub_t *hub = hub_new();
    fail_unless(hub);
    hub->me = user_new("nick", NULL, NULL, NULL, NULL, 0ULL, hub);
    fail_unless(hub->me);
    cc_t *cc = cc_new(-1, hub);
    fail_unless(cc);
    fail_unless(cc->state == CC_STATE_MYNICK);

    /* login a test user on the hub */
    user_t *test_user = user_new("foo", NULL, NULL, NULL, NULL, 0ULL, hub);
    g_hash_table_insert(hub->users, strdup(test_user->nick), test_user);

    /* fake remote nick of the client connection */
    cc->nick = strdup("foo");

    /* requesting a non-existent file should fail */
    int rc = cc_upload_prepare(cc, "non-existent-file", 0, 0);
    fail_unless(rc == -1);

    /* a user with same nick as me requesting a file should fail */
    free(cc->nick);
    cc->nick = strdup("nick");
    rc = cc_upload_prepare(cc, "sphubd\\sphubd.c", 0, 0);
    fail_unless(rc == -1);
    cc->nick = strdup("foo");

    /* cc_upload_prepare should set cc->offset correctly after called */
    cc->offset = 4711ULL;
    rc = cc_upload_prepare(cc, "sphubd\\sphubd.c", 0, 0);
    fail_unless(rc == 0);
    fail_unless(cc->offset == 0ULL);
    fail_unless(cc->bytes_to_transfer == cc->filesize);

    guint64 ofs = 17;
    rc = cc_upload_prepare(cc, "sphubd\\sphubd.c", ofs, 0);
    fail_unless(rc == 0);
    fail_unless(cc->offset == ofs);
    fail_unless(cc->bytes_to_transfer == cc->filesize - ofs);

    /* send commands to a file instead of to a hub */
    cc->fd = open("/tmp/client_test.log", O_RDWR|O_CREAT);
    fail_unless(cc->fd != -1);

    /* nothing in the download queue yet */
    fail_unless(cc_request_download(cc) == -1);

    /* ok, so add a file to the download queue */
    rc = queue_add("bar", "share\\bar-file.zip", 4711ULL, "/tmp/client_test_file.zip", "ABCDEFGHIJKLMNOPQRSTUVWXYZ012");
    fail_unless(rc == 0);

    /* wrong nick in the download queue */
    fail_unless(cc_request_download(cc) == -1);

    /* ok, so add two files to the download queue with correct nick */
    rc = queue_add("foo", "share\\foo-file2.zip", 17ULL, "/tmp/client_test_file2.zip", "ABCDEFGHIJKLMNOPQRSTUVWXYZ234");
    fail_unless(rc == 0);
    rc = queue_add("foo", "share\\foo-file.zip", 4711ULL, "/tmp/client_test_file.zip", "ABCDEFGHIJKLMNOPQRSTUVWXYZ012");
    fail_unless(rc == 0);

    fail_unless(cc_request_download(cc) == 0);
    fail_unless(cc->state == CC_STATE_REQUEST);
    /* should download foo-file.zip first, because they're sorted by filename */
    fail_unless(strcmp(cc->current_queue->target_filename, "/tmp/client_test_file.zip") == 0);

    cc->has_adcget = TRUE;
    cc->has_tthf = TRUE;

    cc_start_download(cc);
    fail_unless(cc->state == CC_STATE_BUSY);
    cc_finish_download(cc);
    /* cc_finish_download should request another file directly if there is one
     * in the download queue */
    fail_unless(cc->state == CC_STATE_REQUEST);
    fail_unless(strcmp(cc->current_queue->target_filename, "/tmp/client_test_file2.zip") == 0);

    cc_start_download(cc);
    fail_unless(cc->state == CC_STATE_BUSY);
    cc_finish_download(cc);
    fail_unless(cc->state == CC_STATE_READY);

    /* nothing more in the download queue */
    fail_unless(cc_request_download(cc) == -1);

    /* zero-sized files are not downloaded (except filelists) */
    rc = queue_add("foo", "share\\file3.zip", 0ULL, "/tmp/client_test_file3.zip", "ABCDEFGHIJKLMNOPQRSTUVWXYZ345");
    fail_unless(rc == 0);
    fail_unless(cc_request_download(cc) == -1);

    /* download a filelist */
    cc->has_xmlbzlist = true;
    rc = queue_add_filelist("foo", false);
    fail_unless(rc == 0);
    fail_unless(cc_request_download(cc) == 0);
    fail_unless(strcmp(cc->current_queue->target_filename, "/tmp/files.xml.foo.bz2") == 0);

    cc_start_download(cc);
    fail_unless(cc->state == CC_STATE_BUSY);
    cc_finish_download(cc);
    fail_unless(cc->state == CC_STATE_READY);

    return 0;
}
Example #24
0
void
xml_loadsave_users_start_element (GMarkupParseContext *context,
				    const gchar         *element_name,
				    const gchar        **attribute_names,
				    const gchar        **attribute_values,
				    gpointer             user_data,
				    GError             **error)
{
#ifdef DEBUG
    printf("xml_loadsave_users_start_element\n");
#endif

    gint i;
    gint tag = xml_get_tag_from_name(element_name);
    gboolean valid_tag = FALSE;

    for(i=TAG_USERS;i<TAG_END;i++)
	if(tag == i)
	{
	    state = i;
	    valid_tag = TRUE;
	}

    for(i=TAG_NAME;i<=TAG_ROUND;i++)
	if(tag == i)
	{
	    state = i;
	    valid_tag = TRUE;
	}

    if(tag == TAG_USER)
    {
	new_user = user_new();
	idx = idx_mon_out = idx_mon_in = idx_cnt = 0;
    }
    else if(tag >= TAG_START_PLAYERS && tag <= TAG_END_PLAYERS)
    {
	state = TAG_START_PLAYERS;
	valid_tag = TRUE;

	if(tag == TAG_START_PLAYERS)
	    new_user.youth_academy.players = 
		g_array_new(FALSE, FALSE, sizeof(Player));

	xml_loadsave_players_start_element(tag, new_user.tm);
    }
    else if(tag == TAG_USER_HISTORY)
    {
	idx = 0;
	new_history.team_name =
	    new_history.string[0] =
	    new_history.string[1] =
	    new_history.string[2] = NULL;
    }
    else if(tag == TAG_USER_EVENT)
	new_event.value_string = NULL;
    else if(tag == TAG_USER_MONEY_OUTS ||
	    tag == TAG_USER_MONEY_INS)
	idx = 0;
    else if(tag == TAG_USER_BET0 ||
       tag == TAG_USER_BET1)
	idx_bet = (tag == TAG_USER_BET1);

    if(!valid_tag)
	debug_print_message("xml_loadsave_users_start_element: unknown tag: %s; I'm in state %d\n",
		  element_name, state);
}