1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: fileobj.hxx,v $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
33 #include <tools/string.hxx>
34 #include <sfx2/linksrc.hxx>
35 #include <sfx2/docfile.hxx>
36 #include "linkmgr.hxx"
39 struct Impl_DownLoadData
;
40 namespace sfx2
{ class FileDialogHelper
; }
42 class SvFileObject
: public sfx2::SvLinkSource
49 Impl_DownLoadData
* pDownLoadData
;
57 BOOL bWaitForData
: 1;
60 BOOL bMedUseCache
: 1;
61 BOOL bNativFormat
: 1;
62 BOOL bClearMedium
: 1;
63 BOOL bStateChangeCalled
: 1;
64 BOOL bInCallDownLoad
: 1;
66 BOOL
GetGraphic_Impl( Graphic
&, SvStream
* pStream
= 0 );
68 void SendStateChg_Impl( LinkState nState
);
70 DECL_STATIC_LINK( SvFileObject
, DelMedium_Impl
, SfxMediumRef
* );
71 DECL_STATIC_LINK( SvFileObject
, LoadGrfReady_Impl
, void* );
72 DECL_STATIC_LINK( SvFileObject
, LoadGrfNewData_Impl
, void* );
73 DECL_LINK( DialogClosedHdl
, sfx2::FileDialogHelper
* );
76 virtual ~SvFileObject();
81 virtual BOOL
GetData( ::com::sun::star::uno::Any
& rData
/*out param*/,
82 const String
& rMimeType
,
83 BOOL bSynchron
= FALSE
);
85 virtual BOOL
Connect( sfx2::SvBaseLink
* );
86 virtual void Edit( Window
*, sfx2::SvBaseLink
*, const Link
& rEndEditHdl
);
88 // erfrage ob das man direkt auf die Daten zugreifen kann oder ob das
89 // erst angestossen werden muss
90 virtual BOOL
IsPending() const;
91 virtual BOOL
IsDataComplete() const;
93 void CancelTransfers();
94 void SetTransferPriority( USHORT nPrio
);