1 /************************************************************** 2 * 3 * Licensed to the Apache Software Foundation (ASF) under one 4 * or more contributor license agreements. See the NOTICE file 5 * distributed with this work for additional information 6 * regarding copyright ownership. The ASF licenses this file 7 * to you under the Apache License, Version 2.0 (the 8 * "License"); you may not use this file except in compliance 9 * with the License. You may obtain a copy of the License at 10 * 11 * http://www.apache.org/licenses/LICENSE-2.0 12 * 13 * Unless required by applicable law or agreed to in writing, 14 * software distributed under the License is distributed on an 15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 * KIND, either express or implied. See the License for the 17 * specific language governing permissions and limitations 18 * under the License. 19 * 20 *************************************************************/ 21 22 23 #ifndef _FILEOBJ_HXX 24 #define _FILEOBJ_HXX 25 26 #include <tools/string.hxx> 27 #include <sfx2/linksrc.hxx> 28 #include <sfx2/docfile.hxx> 29 #include <sfx2/linkmgr.hxx> 30 31 class Graphic; 32 struct Impl_DownLoadData; 33 namespace sfx2 { class FileDialogHelper; } 34 35 class SvFileObject : public sfx2::SvLinkSource 36 { 37 String sFileNm; 38 String sFilter; 39 String sReferer; 40 Link aEndEditLink; 41 SfxMediumRef xMed; 42 Impl_DownLoadData* pDownLoadData; 43 Window* pOldParent; 44 45 sal_uInt8 nType; 46 47 sal_Bool bLoadAgain : 1; 48 sal_Bool bSynchron : 1; 49 sal_Bool bLoadError : 1; 50 sal_Bool bWaitForData : 1; 51 sal_Bool bInNewData : 1; 52 sal_Bool bDataReady : 1; 53 sal_Bool bMedUseCache : 1; 54 sal_Bool bNativFormat : 1; 55 sal_Bool bClearMedium : 1; 56 sal_Bool bStateChangeCalled : 1; 57 sal_Bool bInCallDownLoad : 1; 58 59 sal_Bool GetGraphic_Impl( Graphic&, SvStream* pStream = 0 ); 60 sal_Bool LoadFile_Impl(); 61 void SendStateChg_Impl( sfx2::LinkManager::LinkState nState ); 62 63 DECL_STATIC_LINK( SvFileObject, DelMedium_Impl, SfxMediumRef* ); 64 DECL_STATIC_LINK( SvFileObject, LoadGrfReady_Impl, void* ); 65 DECL_STATIC_LINK( SvFileObject, LoadGrfNewData_Impl, void* ); 66 DECL_LINK( DialogClosedHdl, sfx2::FileDialogHelper* ); 67 68 protected: 69 virtual ~SvFileObject(); 70 71 public: 72 SvFileObject(); 73 74 virtual sal_Bool GetData( ::com::sun::star::uno::Any & rData /*out param*/, 75 const String & rMimeType, 76 sal_Bool bSynchron = sal_False ); 77 78 virtual sal_Bool Connect( sfx2::SvBaseLink* ); 79 virtual void Edit( Window *, sfx2::SvBaseLink *, const Link& rEndEditHdl ); 80 81 // erfrage ob das man direkt auf die Daten zugreifen kann oder ob das 82 // erst angestossen werden muss 83 virtual sal_Bool IsPending() const; 84 virtual sal_Bool IsDataComplete() const; 85 86 void CancelTransfers(); 87 }; 88 89 90 #endif 91 92