int show_task_progress(const Task& task) { cout << "Task " << task.name << " now at " << task.progress << "%" << endl; } int main() { ClientConnection client("localhost"); if (!client.authenticate("password")) { cerr << "Authentication error\n"; return 1; } TaskList& tasks = client.get_all_tasks(); tasks.signal_progress().connect(sigc::ptr_fun(&show_progress)); tasks.set_update_interval(1); client.start_loop(); return 0; }