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