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/.
10 #ifndef INCLUDED_SC_INC_DOCUMENTLINKMGR_HXX
11 #define INCLUDED_SC_INC_DOCUMENTLINKMGR_HXX
13 #include <rtl/ustring.hxx>
17 namespace weld
{ class Window
; }
28 struct DocumentLinkManagerImpl
;
30 class DocumentLinkManager
32 std::unique_ptr
<DocumentLinkManagerImpl
> mpImpl
;
35 DocumentLinkManager( SfxObjectShell
* pShell
);
36 DocumentLinkManager(const DocumentLinkManager
&) = delete;
37 const DocumentLinkManager
& operator=(const DocumentLinkManager
&) = delete;
38 ~DocumentLinkManager();
40 void setDataStream( DataStream
* p
);
41 DataStream
* getDataStream();
42 const DataStream
* getDataStream() const;
45 * @param bCreate if true, create a new link manager instance in case one
48 * @return link manager instance.
50 sfx2::LinkManager
* getLinkManager( bool bCreate
= true );
52 const sfx2::LinkManager
* getExistingLinkManager() const;
54 bool idleCheckLinks();
56 bool hasDdeLinks() const;
57 bool hasDdeOrOleOrWebServiceLinks() const;
59 bool updateDdeOrOleOrWebServiceLinks(weld::Window
* pWin
);
61 void updateDdeLink( const OUString
& rAppl
, const OUString
& rTopic
, const OUString
& rItem
);
63 size_t getDdeLinkCount() const;
65 void disconnectDdeLinks();
67 bool hasDdeOrOleOrWebServiceLinks(bool bDde
, bool bOle
, bool bWebService
) const;
74 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */