bool SBListener::GetNextEventForBroadcasterWithType ( const SBBroadcaster &broadcaster, uint32_t event_type_mask, SBEvent &event ) { if (m_opaque_sp && broadcaster.IsValid()) { EventSP event_sp; if (m_opaque_sp->GetNextEventForBroadcasterWithType (broadcaster.get(), event_type_mask, event_sp)) { event.reset (event_sp); return true; } } event.reset (NULL); return false; }
bool SBListener::WaitForEvent (uint32_t num_seconds, SBEvent &event) { if (m_opaque_ptr) { TimeValue time_value; if (num_seconds != UINT32_MAX) { assert (num_seconds != 0); // Take this out after all calls with timeout set to zero have been removed.... time_value = TimeValue::Now(); time_value.OffsetWithSeconds (num_seconds); } EventSP event_sp; if (m_opaque_ptr->WaitForEvent (time_value.IsValid() ? &time_value : NULL, event_sp)) { event.reset (event_sp); return true; } } event.reset (NULL); return false; }