LibreOffice Module sc (master) 1
documentlinkmgr.hxx
Go to the documentation of this file.
1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2/*
3 * This file is part of the LibreOffice project.
4 *
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/.
8 */
9
10#pragma once
11
12#include <memory>
13#include <string_view>
14
15class SfxObjectShell;
16namespace weld { class Window; }
17
18namespace sfx2 {
19
20class LinkManager;
21
22}
23
24namespace sc {
25
26class DataStream;
27struct DocumentLinkManagerImpl;
28
30{
31 std::unique_ptr<DocumentLinkManagerImpl> mpImpl;
32
33public:
38
39 void setDataStream( DataStream* p );
41 const DataStream* getDataStream() const;
42
49 sfx2::LinkManager* getLinkManager( bool bCreate = true );
50
52
53 bool idleCheckLinks();
54
55 bool hasDdeLinks() const;
57
59
60 void updateDdeLink( std::u16string_view rAppl, std::u16string_view rTopic, std::u16string_view rItem );
61
62 size_t getDdeLinkCount() const;
63
64private:
65 bool hasDdeOrOleOrWebServiceLinks(bool bDde, bool bOle, bool bWebService) const;
66};
67
68}
69
70/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
const sfx2::LinkManager * getExistingLinkManager() const
bool hasDdeOrOleOrWebServiceLinks() const
DataStream * getDataStream()
std::unique_ptr< DocumentLinkManagerImpl > mpImpl
DocumentLinkManager(const DocumentLinkManager &)=delete
sfx2::LinkManager * getLinkManager(bool bCreate=true)
const DocumentLinkManager & operator=(const DocumentLinkManager &)=delete
void setDataStream(DataStream *p)
void updateDdeLink(std::u16string_view rAppl, std::u16string_view rTopic, std::u16string_view rItem)
size_t getDdeLinkCount() const
DocumentLinkManager(SfxObjectShell *pShell)
bool updateDdeOrOleOrWebServiceLinks(weld::Window *pWin)
CAUTION! The following defines must be in the same namespace as the respective type.