示例#1
0
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));
        }
    }

}