1 /*************************************************************************
2  *
3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4  *
5  * Copyright 2000, 2010 Oracle and/or its affiliates.
6  *
7  * OpenOffice.org - a multi-platform office productivity suite
8  *
9  * This file is part of OpenOffice.org.
10  *
11  * OpenOffice.org is free software: you can redistribute it and/or modify
12  * it under the terms of the GNU Lesser General Public License version 3
13  * only, as published by the Free Software Foundation.
14  *
15  * OpenOffice.org is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18  * GNU Lesser General Public License version 3 for more details
19  * (a copy is included in the LICENSE file that accompanied this code).
20  *
21  * You should have received a copy of the GNU Lesser General Public License
22  * version 3 along with OpenOffice.org.  If not, see
23  * <http://www.openoffice.org/license.html>
24  * for a copy of the LGPLv3 License.
25  *
26  ************************************************************************/
27 #ifndef _RETRIEVEINPUTSTREAM_HXX
28 #define _RETRIEVEINPUTSTREAM_HXX
29 
30 #include <observablethread.hxx>
31 #include <tools/string.hxx>
32 //#ifndef _COM_SUN_STAR_UNO_REFERENCE_HXX_
33 //#include <com/sun/star/uno/Reference.hxx>
34 //#endif
35 #ifndef _COM_SUN_STAR_IO_XINPUTSTREAM_HXX_
36 #include <com/sun/star/io/XInputStream.hpp>
37 #endif
38 #include <retrievedinputstreamdata.hxx>
39 
40 /** class for a thread to retrieve an input stream given by an URL
41 
42     OD 2007-01-29 #i73788#
43 
44     @author OD
45 */
46 class SwAsyncRetrieveInputStreamThread : public ObservableThread
47 {
48     public:
49 
50         static ::rtl::Reference< ObservableThread > createThread(
51                     const SwRetrievedInputStreamDataManager::tDataKey nDataKey,
52                     const String& rLinkedURL );
53 
54         virtual ~SwAsyncRetrieveInputStreamThread();
55 
56     protected:
57 
58         virtual void threadFunction();
59 
60     private:
61 
62         SwAsyncRetrieveInputStreamThread( const SwRetrievedInputStreamDataManager::tDataKey nDataKey,
63                                           const String& rLinkedURL );
64 
65         const SwRetrievedInputStreamDataManager::tDataKey mnDataKey;
66         const String mrLinkedURL;
67 };
68 #endif
69