Line data Source code
1 : #ifndef INCLUDED_COM_SUN_STAR_IO_XPERSISTOBJECT_HDL
2 : #define INCLUDED_COM_SUN_STAR_IO_XPERSISTOBJECT_HDL
3 :
4 : #include "sal/config.h"
5 :
6 : namespace com { namespace sun { namespace star { namespace io { class XObjectInputStream; } } } }
7 : #include "com/sun/star/io/IOException.hdl"
8 : namespace com { namespace sun { namespace star { namespace io { class XObjectOutputStream; } } } }
9 : #include "com/sun/star/uno/RuntimeException.hdl"
10 : #include "com/sun/star/uno/XInterface.hdl"
11 : #include "com/sun/star/uno/Reference.h"
12 : #include "cppu/macros.hxx"
13 : #include "rtl/ustring.hxx"
14 :
15 : namespace com { namespace sun { namespace star { namespace uno { class Type; } } } }
16 :
17 : namespace com { namespace sun { namespace star { namespace io {
18 :
19 305 : class SAL_NO_VTABLE XPersistObject : public css::uno::XInterface
20 : {
21 : public:
22 :
23 : // Methods
24 : virtual ::rtl::OUString SAL_CALL getServiceName() = 0;
25 : virtual void SAL_CALL write( const ::com::sun::star::uno::Reference< css::io::XObjectOutputStream >& OutStream ) = 0;
26 : virtual void SAL_CALL read( const ::com::sun::star::uno::Reference< css::io::XObjectInputStream >& InStream ) = 0;
27 :
28 : static inline ::com::sun::star::uno::Type const & SAL_CALL static_type(void * = 0);
29 :
30 : protected:
31 179 : ~XPersistObject() throw () {} // avoid warnings about virtual members and non-virtual dtor
32 : };
33 :
34 :
35 : inline ::com::sun::star::uno::Type const & cppu_detail_getUnoType(SAL_UNUSED_PARAMETER css::io::XPersistObject const *);
36 : } } } }
37 :
38 : inline ::com::sun::star::uno::Type const & SAL_CALL getCppuType(const ::com::sun::star::uno::Reference< css::io::XPersistObject > *) SAL_THROW(());
39 :
40 : #endif
|