rendered paste bodyvoid connect_done(ClientConnection* connection);//void auth_done(ClientConnection* connection);void project_list_retrieved(ProjectList& projects);void project_added(Project* p);void project_removed(const Project* p);void project_updated(Project* p);ClientConnection* c = NULL;int main() { Main svc; svc.connect_async("localhost", sigc::ptr_fun(&connect_done)); sleep(10); return 0;}void connect_done(ClientConnection* connection) { c = connection; connection->get_projects_async(sigc::ptr_fun(&project_list_retrieved));}void project_list_retrieved(ProjectList& projects) { for (ProjectList::const_iterator it = projects.begin(); it != projects.end(); ++it) { Project* p = *it; cout << p->master_url() << " " << p->name() << endl; } projects.project_added_signal.connect(sigc::ptr_fun(&project_added)); projects.project_updated_signal.connect(sigc::ptr_fun(&project_updated)); projects.project_removed_signal.connect(sigc::ptr_fun(&project_removed)); projects.periodic_update(5);}void project_added(const Project* p) { cout << formatter("New project on list: %1 (%2)").arg(p->name()).arg(p->master_url()); cout << endl;}void project_removed(const Project* p) { cout << formatter("Project %1 detached").arg(p->name()) << endl;}void project_updated(Project* p) { cout << formatter("Project %1 changed some status").arg(p->name()) << endl;}