//------------------------------------------------------ CDBProperties::EventHandlerTimeoutMap CDBProperties::getEventHandlerTimeoutMap(const std::string& channelName) { EventHandlerTimeoutMap retVal; //sanity check if (cdbChannelConfigExists(channelName)==false) { return retVal; } //CDB //complete name of the channel within the CDB std::string cdbChannelName = "MACI/Channels/" + channelName; CDB::DAL_var cdbRef = getCDB(); CDB::DAO_var tempDAO = cdbRef->get_DAO_Servant(cdbChannelName.c_str()); CDB::stringSeq_var keys; //names of all the events try { keys = tempDAO->get_string_seq("Events"); } catch(...){ return retVal; } //another sanity check if (keys.ptr()==0) { return retVal; } //populate the map for (CORBA::ULong i=0; i<keys->length(); i++) { //get the key's value std::string timeoutLocation = "Events/"; timeoutLocation = timeoutLocation + (const char*)keys[i] + "/MaxProcessTime"; double value = tempDAO->get_double(timeoutLocation.c_str()); //set the map's contents retVal[(const char*)keys[i]] = value; } return retVal; }