19#ifndef INCLUDED_SFX2_LINKSRC_HXX
20#define INCLUDED_SFX2_LINKSRC_HXX
26#include <com/sun/star/uno/Reference.hxx>
36template <
typename Arg,
typename Ret>
class Link;
39#ifndef ADVISEMODE_NODATA
41#define ADVISEMODE_NODATA 0x01
42#define ADVISEMODE_PRIMEFIRST 0x02
43#define ADVISEMODE_ONLYONCE 0x04
44#define ADVISEMODE_DATAONSTOP 0x40
51struct SvLinkSource_Impl;
56 std::unique_ptr<SvLinkSource_Impl>
pImpl;
63 bool HasDataLinks()
const;
67 sal_uInt64 GetUpdateTimeout()
const;
68 void SetUpdateTimeout( sal_uInt64 nTimeMs );
72 const css::uno::Any & rVal );
73 void SendDataChanged();
74 void NotifyDataChanged();
77 virtual bool GetData( css::uno::Any & rData ,
78 const OUString & rMimeType,
79 bool bSynchron =
false );
82 virtual bool IsPending()
const;
84 virtual bool IsDataComplete()
const;
89 void AddDataAdvise(
SvBaseLink *,
const OUString & rMimeType,
90 sal_uInt16 nAdviceMode );
91 void RemoveAllDataAdvise(
SvBaseLink const * );
94 void RemoveConnectAdvise(
SvBaseLink const * );
98 css::uno::Reference<css::io::XInputStream> xInputStream,
bool bIsReadOnly )
99 :m_xInputStreamToLoadFrom(
std::move(xInputStream)),
100 m_bIsReadOnly(bIsReadOnly)
104 css::uno::Reference<css::io::XInputStream>
110 void setStreamToLoadFrom(
const css::uno::Reference<css::io::XInputStream>& xInputStream,
bool bIsReadOnly );
111 void clearStreamToLoadFrom();
std::unique_ptr< SvLinkSource_Impl > pImpl
tools::SvRef< SvLinkSource > SvLinkSourceRef
StreamToLoadFrom(css::uno::Reference< css::io::XInputStream > xInputStream, bool bIsReadOnly)
css::uno::Reference< css::io::XInputStream > m_xInputStreamToLoadFrom