22#include <osl/conditn.hxx>
45 bool impl_isDisposed(
bool bAssert=
true );
57 SAL_DLLPRIVATE
virtual bool impl_canStartApiCall();
60 SAL_DLLPRIVATE
void impl_registerApiCall(
bool bLongLastingCall);
61 SAL_DLLPRIVATE
void impl_unregisterApiCall(std::unique_lock<std::mutex>& rGuard,
bool bLongLastingCall);
86 , css::lang::XComponent* pComponent );
97 void g_addCloseListener(
const css::uno::Reference< css::util::XCloseListener > & xListener );
104 void impl_doClose(std::unique_lock<std::mutex>& rGuard);
174 :
m_guard( rManager.m_aAccessMutex )
::osl::Condition m_aEndTryClosingCondition
virtual bool impl_canStartApiCall() override
void impl_doClose(std::unique_lock< std::mutex > &rGuard)
bool volatile m_bOwnership
void g_close_endTryClose(bool bDeliverOwnership)
void impl_setOwnership(bool bDeliverOwnership, bool bMyVeto)
void g_addCloseListener(const css::uno::Reference< css::util::XCloseListener > &xListener)
bool impl_isDisposedOrClosed(bool bAssert=true)
bool volatile m_bInTryClose
virtual ~CloseableLifeTimeManager() override
virtual void impl_apiCallCountReachedNull(std::unique_lock< std::mutex > &rGuard) override
void g_close_isNeedToCancelLongLastingCalls(bool bDeliverOwnership, css::util::CloseVetoException const &ex)
void g_close_endTryClose_doClose()
CloseableLifeTimeManager(css::util::XCloseable *pCloseable, css::lang::XComponent *pComponent)
css::util::XCloseable * m_pCloseable
bool g_close_startTryClose(bool bDeliverOwnership)
std::unique_lock< std::mutex > m_guard
bool m_bLongLastingCallRegistered
LifeTimeGuard(const LifeTimeGuard &)=delete
bool startApiCall(bool bLongLastingCall=false)
LifeTimeGuard(LifeTimeManager &rManager)
LifeTimeGuard & operator=(const LifeTimeGuard &)=delete
LifeTimeManager & m_rManager
::comphelper::OInterfaceContainerHelper4< css::util::XModifyListener > m_aModifyListeners
std::mutex m_aAccessMutex
::osl::Condition m_aNoLongLastingCallCountCondition
::comphelper::OInterfaceContainerHelper4< css::lang::XEventListener > m_aEventListeners
bool volatile m_bInDispose
bool volatile m_bDisposed
::comphelper::OInterfaceContainerHelper4< css::view::XSelectionChangeListener > m_aSelectionChangeListeners
virtual SAL_DLLPRIVATE void impl_apiCallCountReachedNull(std::unique_lock< std::mutex > &)
::comphelper::OInterfaceContainerHelper4< css::util::XCloseListener > m_aCloseListeners
::osl::Condition m_aNoAccessCountCondition
::comphelper::OInterfaceContainerHelper4< css::document::XStorageChangeListener > m_aStorageChangeListeners
sal_Int32 m_nLongLastingCallCount
css::lang::XComponent * m_pComponent