void Wall::AddResponseToPost(int post_index, WallPost& post) { WallPost* parent = &(wall_posts.get(post_index - 1)); if (parent->IsResponse()){ parent = parent->GetParent(); } post.SetParent(parent); post.SetDomainName(username); parent->AddResponse(&post); wall_posts.insert(post_index, post); }
void Wall::ConstructPostResponseRelationship(User* user) { DoublyLinkedList<WallPost>::iterator it; WallPost* parent = NULL; for (it = wall_posts.begin(); it != wall_posts.end(); it++) { if ((*it).IsResponse()) { (*it).SetParent(parent); parent->AddResponse(&(*it)); } else { parent = &(*it); } if ((*it).GetAuthorUsername() != user->GetUserName()) { User* ptr = user->QueryFriend((*it).GetAuthorUsername()); ptr->Remember(user->GetUserName(), *it); } } }