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