Line data Source code
1 : #ifndef INCLUDED_COM_SUN_STAR_SECURITY_ACCESSCONTROLEXCEPTION_HPP
2 : #define INCLUDED_COM_SUN_STAR_SECURITY_ACCESSCONTROLEXCEPTION_HPP
3 :
4 : #include "sal/config.h"
5 :
6 : #include "com/sun/star/security/AccessControlException.hdl"
7 :
8 : #include "com/sun/star/uno/SecurityException.hpp"
9 : #include "com/sun/star/uno/Any.hxx"
10 : #include "com/sun/star/uno/Type.hxx"
11 : #include "cppu/unotype.hxx"
12 : #include "osl/mutex.hxx"
13 : #include "rtl/instance.hxx"
14 :
15 : namespace com { namespace sun { namespace star { namespace security {
16 :
17 : inline AccessControlException::AccessControlException() SAL_THROW(())
18 : : css::uno::SecurityException()
19 : , LackingPermission()
20 : {
21 : ::cppu::UnoType< css::security::AccessControlException >::get();
22 : }
23 :
24 : inline AccessControlException::AccessControlException(const ::rtl::OUString& Message_, const ::com::sun::star::uno::Reference< css::uno::XInterface >& Context_, const ::com::sun::star::uno::Any& LackingPermission_) SAL_THROW(())
25 : : css::uno::SecurityException(Message_, Context_)
26 : , LackingPermission(LackingPermission_)
27 : {
28 : ::cppu::UnoType< css::security::AccessControlException >::get();
29 : }
30 :
31 : AccessControlException::AccessControlException(AccessControlException const & the_other): css::uno::SecurityException(the_other), LackingPermission(the_other.LackingPermission) {}
32 :
33 : AccessControlException::~AccessControlException() {}
34 :
35 : AccessControlException & AccessControlException::operator =(AccessControlException const & the_other) {
36 : //TODO: Just like its implicitly-defined counterpart, this function definition is not exception-safe
37 : css::uno::SecurityException::operator =(the_other);
38 : LackingPermission = the_other.LackingPermission;
39 : return *this;
40 : }
41 :
42 : } } } }
43 :
44 : namespace com { namespace sun { namespace star { namespace security { namespace detail {
45 :
46 : struct theAccessControlExceptionType : public rtl::StaticWithInit< ::com::sun::star::uno::Type *, theAccessControlExceptionType >
47 : {
48 0 : ::com::sun::star::uno::Type * operator()() const
49 : {
50 0 : ::rtl::OUString sTypeName( "com.sun.star.security.AccessControlException" );
51 :
52 : // Start inline typedescription generation
53 0 : typelib_TypeDescription * pTD = 0;
54 0 : const ::com::sun::star::uno::Type& rSuperType = ::cppu::UnoType< css::uno::SecurityException >::get();
55 :
56 : typelib_CompoundMember_Init aMembers[1];
57 0 : ::rtl::OUString sMemberType0( "any" );
58 0 : ::rtl::OUString sMemberName0( "LackingPermission" );
59 0 : aMembers[0].eTypeClass = (typelib_TypeClass)::com::sun::star::uno::TypeClass_ANY;
60 0 : aMembers[0].pTypeName = sMemberType0.pData;
61 0 : aMembers[0].pMemberName = sMemberName0.pData;
62 :
63 : typelib_typedescription_new(
64 : &pTD,
65 : (typelib_TypeClass)::com::sun::star::uno::TypeClass_EXCEPTION, sTypeName.pData,
66 : rSuperType.getTypeLibType(),
67 : 1,
68 0 : aMembers );
69 :
70 0 : typelib_typedescription_register( (typelib_TypeDescription**)&pTD );
71 :
72 0 : typelib_typedescription_release( pTD );
73 : // End inline typedescription generation
74 :
75 0 : return new ::com::sun::star::uno::Type( ::com::sun::star::uno::TypeClass_EXCEPTION, sTypeName ); // leaked
76 : }
77 : };
78 :
79 : } } } } }
80 :
81 : namespace com { namespace sun { namespace star { namespace security {
82 :
83 0 : inline ::com::sun::star::uno::Type const & cppu_detail_getUnoType(SAL_UNUSED_PARAMETER css::security::AccessControlException const *) {
84 0 : return *detail::theAccessControlExceptionType::get();
85 : }
86 :
87 : } } } }
88 :
89 : inline ::com::sun::star::uno::Type const & SAL_CALL getCppuType(SAL_UNUSED_PARAMETER css::security::AccessControlException const *) SAL_THROW(()) {
90 : return ::cppu::UnoType< css::security::AccessControlException >::get();
91 : }
92 :
93 : #endif // INCLUDED_COM_SUN_STAR_SECURITY_ACCESSCONTROLEXCEPTION_HPP
|