1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
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/.
13 #include <string_view>
16 namespace weld
{ class Window
; }
27 struct DocumentLinkManagerImpl
;
29 class DocumentLinkManager
31 std::unique_ptr
<DocumentLinkManagerImpl
> mpImpl
;
34 DocumentLinkManager( SfxObjectShell
* pShell
);
35 DocumentLinkManager(const DocumentLinkManager
&) = delete;
36 const DocumentLinkManager
& operator=(const DocumentLinkManager
&) = delete;
37 ~DocumentLinkManager();
39 void setDataStream( DataStream
* p
);
40 DataStream
* getDataStream();
41 const DataStream
* getDataStream() const;
44 * @param bCreate if true, create a new link manager instance in case one
47 * @return link manager instance.
49 sfx2::LinkManager
* getLinkManager( bool bCreate
= true );
51 const sfx2::LinkManager
* getExistingLinkManager() const;
53 bool idleCheckLinks();
55 bool hasDdeLinks() const;
56 bool hasDdeOrOleOrWebServiceLinks() const;
57 bool hasExternalRefLinks() const;
59 bool updateDdeOrOleOrWebServiceLinks(weld::Window
* pWin
);
61 void updateDdeLink( std::u16string_view rAppl
, std::u16string_view rTopic
, std::u16string_view rItem
);
63 size_t getDdeLinkCount() const;
66 bool hasDdeOrOleOrWebServiceLinks(bool bDde
, bool bOle
, bool bWebService
) const;
71 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */