29 #ifndef _SALHELPER_MONITOR_HXX_
30 #define _SALHELPER_MONITOR_HXX_
46 #ifndef SALHELPER_COPYCTOR_API
47 #define SALHELPER_COPYCTOR_API(C) C (const C&); C& operator= (const C&)
181 template<
class monitor_type>
186 monitor_type *m_pMonitor;
195 inline ReaderGuard (monitor_type & rMonitor) : m_pMonitor (&rMonitor)
197 m_pMonitor->acquireReader();
202 inline ReaderGuard (monitor_type * pMonitor) : m_pMonitor (pMonitor)
204 OSL_PRECOND(m_pMonitor,
"ReaderGuard::ReaderGuard(): No Monitor");
205 m_pMonitor->acquireReader();
213 m_pMonitor->releaseReader();
222 m_pMonitor->releaseReader();
234 template<
class monitor_type>
239 monitor_type *m_pMonitor;
248 inline WriterGuard (monitor_type & rMonitor) : m_pMonitor (&rMonitor)
250 m_pMonitor->acquireWriter();
255 inline WriterGuard (monitor_type * pMonitor) : m_pMonitor (pMonitor)
257 OSL_PRECOND(m_pMonitor,
"WriterGuard::WriterGuard(): No Monitor");
258 m_pMonitor->acquireWriter();
266 m_pMonitor->releaseWriter();
275 m_pMonitor->releaseWriter();