Example #1
0
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);
}
Example #2
0
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);
    }
  }
}