// timeout en minutes
if (timeout > 3)
{
printf("Timeout overflow - works only on 64 bits machines")
timeout = 0;
}
if (timeout > 0)
{
TimeBase::TimeT convertedTimeout = timeout * 60L * 10000000L; // timeout converted in minutes
printf("Timeout in 100 nanoseconds: %d\n", convertedTimeout);
CORBA::Any requestTimeout;
requestTimeout <<= convertedTimeout;
CORBA::PolicyList policies;
policies.length(1);
policies[0] = orbProxy->getORB()->create_policy(Messaging::RELATIVE_RT_TIMEOUT_POLICY_TYPE, requestTimeout);
CORBA::PolicyManager_var policyManager = NULL;
CORBA::Object_var ref = orbProxy->getORB()->resolve_initial_references("ORBPolicyManager");
policyManager = CORBA::PolicyManager::_narrow(ref.in());
policyManager->set_policy_overrides(policies, CORBA::ADD_OVERRIDE);
}