/** Returnallid'sunderwhichatleastoneinterfaceisadded.
*/ inline std::vector<key> getContainedTypes() const
{
::osl::MutexGuard aGuard(rMutex);
std::vector<key> aInterfaceTypes;
aInterfaceTypes.reserve(m_aMap.size()); for (constauto& rPair : m_aMap) // are interfaces added to this container? if (rPair.second->getLength()) // yes, put the type in the array
aInterfaceTypes.push_back(rPair.first); return aInterfaceTypes;
}
inlinebool hasContainedTypes() const
{
::osl::MutexGuard aGuard(rMutex); for (constauto& rPair : m_aMap) // are interfaces added to this container? if (rPair.second->getLength()) returntrue; returnfalse;
}
// search container with id nUik auto iter = find(rKey); // container found? if (iter != m_aMap.end()) return (*iter).second->removeInterface(rListener);
// no container with this id. Always return 0 return0;
}
/** Calldisposingonallreferencesinthecontainer,that supportXEventListener.Thenclearsthecontainer. @paramrEvttheeventobjectwhichispassedduringdisposing()call
*/ inlinevoid disposeAndClear(const css::lang::EventObject& rEvt)
{ // create a copy, because do not fire event in a guarded section
InterfaceMap tempMap;
{
::osl::MutexGuard aGuard(rMutex);
tempMap = std::move(m_aMap);
}
for (auto& rPair : tempMap)
rPair.second->disposeAndClear(rEvt);
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.