Example #1
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 #2
0
list_t * get_list_of_messages_of_one_user(chat_t * chat, user_t * user){
    list_t * msgList = list_new();
    for(int i = 0; i < list_getSize(chat->messages); i++){
        message_t * tmp = list_get(chat->messages, i);
        if(strcmp(user_get_surname(tmp->owner), user_get_surname(user)) == 0 &&
                strcmp(user_get_name(tmp->owner), user_get_name(user)) == 0 &&
                    user_get_age(tmp->owner) == user_get_age(user))
            {
                list_push_back(msgList, (void*) tmp);
            }
        else continue;
    }
    return msgList;
}
Example #3
0
static int on_stream(http_request_t *hr, void *data, const char *remaining, size_t size)
{
    int        sck;
    user_t    *user;
    channel_t *channel;

    (void) remaining;
    (void) size;
    (void) data;

    user = http_request_get_data(hr);
    if(user == NULL)
        return -1;

    sck  = http_request_detach(hr);

    send(sck, basic_reponse, sizeof(basic_reponse) - 1, MSG_DONTWAIT);
    if(user_add_socket(user, sck) == -1) {
        close(sck);
    }
    channel = channel_add_user(user_get_name(user), user);
    user_set_channel(user, channel);
 
    return 0;
}
Example #4
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 #5
0
int main( int argc, char ** argv)
{
	/* user_t * u = user_new();
	assert( u != NULL );
	printf("created user %p\n",u);
	user_set_name(u,"ken");
	printf("set user %s\n",user_get_name(u));
	assert( strcmp(user_get_name(u),"ken") == 0 );
	user_free(u);
	*/
	user_t u;
	user_new_for_addr(&u);
	assert( &u != NULL );
	printf("created user %p\n",&u);
	user_set_name(&u,"ken");
	printf("set user %s\n",user_get_name(&u));
	assert( strcmp(user_get_name(&u),"ken") == 0 );
	user_for_addr_free(&u);
	return 0;
}
Example #6
0
File: main.c Project: kostya9/OP
void strange_alert (user_t * receiver, event_t * event)
{
    char * name = user_get_name(receiver);
    char * summary = event_get_summary(event);

    printf("\nHEYYY NERD, IS UR NAME %s ? THEN UR PARTY HAS STARTED. LETSS GOOO!\n", name);
    printf("Actually it's summary is:\n%s\n", summary);

    free(name);
    free(summary);
}
Example #7
0
File: main.c Project: kostya9/OP
void normal_alert (user_t * receiver, event_t * event)
{
    char * name = user_get_name(receiver);
    char * summary = event_get_summary(event);

    printf("\nHey, %s\n", name);
    printf("Notifying you that event has started. It's summary : \n%s\n", summary);

    free(name);
    free(summary);
}
Example #8
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 #9
0
int cmd_nick(Channel *channel, User *speaker, const char *text)
{
	int	i;
	Channel	*ch;
	char	buf[256];

	if(!user_name_is_valid(text))
		return 0;

	if(user_lookup(text) != NULL)		/* Refuse if nick is in use. */
		return 0;

	/* Before doing the change, go through all channels and notify. */
	snprintf(buf, sizeof buf, "%s is now known as %s\n", user_get_name(speaker), text);
	for(i = 0; (ch = channel_index(i)) != NULL; i++)
	{
		if(channel_user_is_member(ch, speaker))
			channel_hear(ch, NULL, buf);
	}
	user_set_name(speaker, text);
	return 1;
}
Example #10
0
static void new__name__zeroCount(void **state)
{
    user_t * user = user_create("Frodo");
    assert_int_equal(strcmp("Frodo",user_get_name(user)), 0);
    user_delete(user);
}