xref: /aoo41x/main/sfx2/source/inc/fltoptint.hxx (revision cdf0e10c)
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 SFX2_FLTOPTINT_HXX
28 #define SFX2_FLTOPTINT_HXX
29 
30 #include <com/sun/star/document/FilterOptionsRequest.hpp>
31 #include <com/sun/star/document/XInteractionFilterOptions.hpp>
32 #include <com/sun/star/frame/XModel.hpp>
33 #include <comphelper/interaction.hxx>
34 
35 //using namespace ::framework;
36 
37 class FilterOptionsContinuation : public comphelper::OInteraction< ::com::sun::star::document::XInteractionFilterOptions >
38 {
39 	::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > rProperties;
40 
41 public:
42     virtual void SAL_CALL setFilterOptions( const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& rProp ) throw (::com::sun::star::uno::RuntimeException);
43     virtual ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > SAL_CALL getFilterOptions(  ) throw (::com::sun::star::uno::RuntimeException);
44 };
45 
46 class RequestFilterOptions : public ::cppu::WeakImplHelper1< ::com::sun::star::task::XInteractionRequest >
47 {
48     ::com::sun::star::uno::Any m_aRequest;
49 
50     ::com::sun::star::uno::Sequence<
51 					::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionContinuation >
52 				> m_lContinuations;
53 
54     comphelper::OInteractionAbort*  m_pAbort;
55 
56     FilterOptionsContinuation*	m_pOptions;
57 
58 public:
59     RequestFilterOptions( ::com::sun::star::uno::Reference< ::com::sun::star::frame::XModel > rModel,
60 							  ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > rProperties );
61 
62     sal_Bool    isAbort() { return m_pAbort->wasSelected(); }
63 
64 	::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > getFilterOptions()
65 	{
66 		return m_pOptions->getFilterOptions();
67 	}
68 
69     virtual ::com::sun::star::uno::Any SAL_CALL getRequest()
70 		throw( ::com::sun::star::uno::RuntimeException );
71 
72     virtual ::com::sun::star::uno::Sequence<
73 				::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionContinuation >
74 			> SAL_CALL getContinuations()
75 		throw( ::com::sun::star::uno::RuntimeException );
76 };
77 
78 #endif
79