Line data Source code
1 : #ifndef INCLUDED_COM_SUN_STAR_UTIL_XLOCKABLE_HDL
2 : #define INCLUDED_COM_SUN_STAR_UTIL_XLOCKABLE_HDL
3 :
4 : #include "sal/config.h"
5 :
6 : #include "com/sun/star/uno/RuntimeException.hdl"
7 : #include "com/sun/star/uno/XInterface.hdl"
8 : #include "com/sun/star/util/NotLockedException.hdl"
9 : #include "com/sun/star/uno/Reference.h"
10 : #include "cppu/macros.hxx"
11 : #include "sal/types.h"
12 :
13 : namespace com { namespace sun { namespace star { namespace uno { class Type; } } } }
14 :
15 : namespace com { namespace sun { namespace star { namespace util {
16 :
17 49 : class SAL_NO_VTABLE XLockable : public css::uno::XInterface
18 : {
19 : public:
20 :
21 : // Methods
22 : virtual void SAL_CALL lock() /* throw (::com::sun::star::uno::RuntimeException) */ = 0;
23 : virtual void SAL_CALL unlock() /* throw (css::util::NotLockedException, ::com::sun::star::uno::RuntimeException) */ = 0;
24 : virtual ::sal_Bool SAL_CALL isLocked() /* throw (::com::sun::star::uno::RuntimeException) */ = 0;
25 :
26 : static inline ::com::sun::star::uno::Type const & SAL_CALL static_type(void * = 0);
27 :
28 : protected:
29 0 : ~XLockable() throw () {} // avoid warnings about virtual members and non-virtual dtor
30 : };
31 :
32 :
33 : inline ::com::sun::star::uno::Type const & cppu_detail_getUnoType(SAL_UNUSED_PARAMETER css::util::XLockable const *);
34 : } } } }
35 :
36 : inline ::com::sun::star::uno::Type const & SAL_CALL getCppuType(const ::com::sun::star::uno::Reference< css::util::XLockable > *) SAL_THROW(());
37 :
38 : #endif
|