build fix
[LibreOffice.git] / include / unotools / eventcfg.hxx
blob51f54ccd4dda0a4fa72e19fb40828f9c2b7c8773
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
19 #ifndef INCLUDED_UNOTOOLS_EVENTCFG_HXX
20 #define INCLUDED_UNOTOOLS_EVENTCFG_HXX
22 #include <unotools/unotoolsdllapi.h>
23 #include <unotools/configitem.hxx>
24 #include <com/sun/star/document/XEventsSupplier.hpp>
25 #include <com/sun/star/container/XNameReplace.hpp>
26 #include <com/sun/star/frame/XFrame.hpp>
27 #include <cppuhelper/weakref.hxx>
28 #include <cppuhelper/implbase2.hxx>
29 #include <unordered_map>
30 #include <vector>
32 enum class GlobalEventId
34 STARTAPP,
35 CLOSEAPP,
36 DOCCREATED,
37 CREATEDOC,
38 LOADFINISHED,
39 OPENDOC,
40 PREPARECLOSEDOC,
41 CLOSEDOC,
42 SAVEDOC,
43 SAVEDOCDONE,
44 SAVEDOCFAILED,
45 SAVEASDOC,
46 SAVEASDOCDONE,
47 SAVEASDOCFAILED,
48 SAVETODOC,
49 SAVETODOCDONE,
50 SAVETODOCFAILED,
51 ACTIVATEDOC,
52 DEACTIVATEDOC,
53 PRINTDOC,
54 VIEWCREATED,
55 PREPARECLOSEVIEW,
56 CLOSEVIEW,
57 MODIFYCHANGED,
58 TITLECHANGED,
59 VISAREACHANGED,
60 MODECHANGED,
61 STORAGECHANGED,
62 LAST = STORAGECHANGED
65 class GlobalEventConfig_Impl;
67 class UNOTOOLS_DLLPUBLIC GlobalEventConfig:
68 public ::cppu::WeakImplHelper2 < css::document::XEventsSupplier, css::container::XNameReplace >
70 public:
71 GlobalEventConfig( );
72 virtual ~GlobalEventConfig( ) override;
73 static ::osl::Mutex& GetOwnStaticMutex();
75 css::uno::Reference< css::container::XNameReplace > SAL_CALL getEvents( ) throw (css::uno::RuntimeException, std::exception) override;
76 void SAL_CALL replaceByName( const OUString& aName, const css::uno::Any& aElement ) throw (css::lang::IllegalArgumentException, css::container::NoSuchElementException, css::lang::WrappedTargetException, css::uno::RuntimeException, std::exception) override;
77 css::uno::Any SAL_CALL getByName( const OUString& aName ) throw (css::container::NoSuchElementException, css::lang::WrappedTargetException, css::uno::RuntimeException, std::exception) override;
78 css::uno::Sequence< OUString > SAL_CALL getElementNames( ) throw (css::uno::RuntimeException, std::exception) override;
79 sal_Bool SAL_CALL hasByName( const OUString& aName ) throw (css::uno::RuntimeException, std::exception) override;
80 css::uno::Type SAL_CALL getElementType( ) throw (css::uno::RuntimeException, std::exception) override;
81 sal_Bool SAL_CALL hasElements( ) throw (css::uno::RuntimeException, std::exception) override;
82 static OUString GetEventName( GlobalEventId nID );
84 private:
85 static GlobalEventConfig_Impl* m_pImpl;
86 static sal_Int32 m_nRefCount;
89 #endif // INCLUDED_UNOTOOLS_EVENTCFG_HXX
91 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */