void MainContentComponent::changeListenerCallback(ChangeBroadcaster* src) { ClientController* client = dynamic_cast<ClientController*>(fController); if (client) { DBG("Calling StringFn"); try { String newText = fController->StringFn("from server"); this->SetText(newText); } catch (const RpcException& e) { switch (e.GetCode()) { case Controller::kTimeout: { this->SetText("TIMEOUT error"); } break; default: { this->SetText("Exception code = " + String(e.GetCode())); } break; } } } for (int i = 0; i < 2; ++i) { ValueTree tree = fController->GetTree(i); if (ValueTree::invalid != tree) { this->SetTreeText(tree.toXmlString(), i); } else { this->SetTreeText("ERROR getting tree at index " + String(i)); } } }