16d739b60SAndrew Rist /**************************************************************
2cdf0e10cSrcweir  *
36d739b60SAndrew Rist  * Licensed to the Apache Software Foundation (ASF) under one
46d739b60SAndrew Rist  * or more contributor license agreements.  See the NOTICE file
56d739b60SAndrew Rist  * distributed with this work for additional information
66d739b60SAndrew Rist  * regarding copyright ownership.  The ASF licenses this file
76d739b60SAndrew Rist  * to you under the Apache License, Version 2.0 (the
86d739b60SAndrew Rist  * "License"); you may not use this file except in compliance
96d739b60SAndrew Rist  * with the License.  You may obtain a copy of the License at
106d739b60SAndrew Rist  *
116d739b60SAndrew Rist  *   http://www.apache.org/licenses/LICENSE-2.0
126d739b60SAndrew Rist  *
136d739b60SAndrew Rist  * Unless required by applicable law or agreed to in writing,
146d739b60SAndrew Rist  * software distributed under the License is distributed on an
156d739b60SAndrew Rist  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
166d739b60SAndrew Rist  * KIND, either express or implied.  See the License for the
176d739b60SAndrew Rist  * specific language governing permissions and limitations
186d739b60SAndrew Rist  * under the License.
196d739b60SAndrew Rist  *
206d739b60SAndrew Rist  *************************************************************/
216d739b60SAndrew Rist 
226d739b60SAndrew Rist 
23cdf0e10cSrcweir 
24cdf0e10cSrcweir // MARKER(update_precomp.py): autogen include statement, do not remove
25cdf0e10cSrcweir #include "precompiled_framework.hxx"
26cdf0e10cSrcweir 
27cdf0e10cSrcweir //_________________________________________________________________________________________________________________
28cdf0e10cSrcweir //	my own includes
29cdf0e10cSrcweir //_________________________________________________________________________________________________________________
30cdf0e10cSrcweir #include <comphelper/interaction.hxx>
31cdf0e10cSrcweir #include <framework/interaction.hxx>
32cdf0e10cSrcweir #include <general.h>
33cdf0e10cSrcweir 
34cdf0e10cSrcweir using namespace ::com::sun::star;
35cdf0e10cSrcweir 
36cdf0e10cSrcweir namespace framework{
37cdf0e10cSrcweir 
38cdf0e10cSrcweir /*-************************************************************************************************************//**
39cdf0e10cSrcweir     @short          declaration of special continuation for filter selection
40cdf0e10cSrcweir     @descr          Sometimes filter detection during loading document failed. Then we need a possibility
41cdf0e10cSrcweir                     to ask user for his decision. These continuation transport selected filter by user to
42cdf0e10cSrcweir                     code user of interaction.
43cdf0e10cSrcweir 
44cdf0e10cSrcweir     @attention      This implementation could be used one times only. We don't support a resetable continuation yet!
45cdf0e10cSrcweir                     Why? Normaly interaction should show a filter selection dialog and ask user for his decision.
46cdf0e10cSrcweir                     He can select any filter - then instances of these class will be called by handler ... or user
47cdf0e10cSrcweir                     close dialog without any selection. Then another continuation should be slected by handler to
48*07a3d7f1SPedro Giffuni                     abort continuations ... Retrying isn't very useful here ... I think.
49cdf0e10cSrcweir 
50cdf0e10cSrcweir     @implements     XInteractionFilterSelect
51cdf0e10cSrcweir 
52cdf0e10cSrcweir     @base           ImplInheritanceHelper1
53cdf0e10cSrcweir                     ContinuationBase
54cdf0e10cSrcweir 
55cdf0e10cSrcweir     @devstatus      ready to use
56cdf0e10cSrcweir     @threadsafe     no (used on once position only!)
57cdf0e10cSrcweir *//*-*************************************************************************************************************/
58cdf0e10cSrcweir class ContinuationFilterSelect : public comphelper::OInteraction< ::com::sun::star::document::XInteractionFilterSelect >
59cdf0e10cSrcweir {
60cdf0e10cSrcweir     // c++ interface
61cdf0e10cSrcweir     public:
62cdf0e10cSrcweir         ContinuationFilterSelect();
63cdf0e10cSrcweir 
64cdf0e10cSrcweir     // uno interface
65cdf0e10cSrcweir     public:
66cdf0e10cSrcweir         virtual void            SAL_CALL setFilter( const ::rtl::OUString& sFilter ) throw( ::com::sun::star::uno::RuntimeException );
67cdf0e10cSrcweir         virtual ::rtl::OUString SAL_CALL getFilter(                                ) throw( ::com::sun::star::uno::RuntimeException );
68cdf0e10cSrcweir 
69cdf0e10cSrcweir     // member
70cdf0e10cSrcweir     private:
71cdf0e10cSrcweir         ::rtl::OUString m_sFilter;
72cdf0e10cSrcweir 
73cdf0e10cSrcweir };  // class ContinuationFilterSelect
74cdf0e10cSrcweir 
75cdf0e10cSrcweir 
76cdf0e10cSrcweir //---------------------------------------------------------------------------------------------------------
77cdf0e10cSrcweir // initialize continuation with right start values
78cdf0e10cSrcweir //---------------------------------------------------------------------------------------------------------
79cdf0e10cSrcweir ContinuationFilterSelect::ContinuationFilterSelect()
80cdf0e10cSrcweir     : m_sFilter( ::rtl::OUString() )
81cdf0e10cSrcweir {
82cdf0e10cSrcweir }
83cdf0e10cSrcweir 
84cdf0e10cSrcweir //---------------------------------------------------------------------------------------------------------
85cdf0e10cSrcweir // handler should use it after selection to set user specified filter for transport
86cdf0e10cSrcweir //---------------------------------------------------------------------------------------------------------
87cdf0e10cSrcweir void SAL_CALL ContinuationFilterSelect::setFilter( const ::rtl::OUString& sFilter ) throw( css::uno::RuntimeException )
88cdf0e10cSrcweir {
89cdf0e10cSrcweir     m_sFilter = sFilter;
90cdf0e10cSrcweir }
91cdf0e10cSrcweir 
92cdf0e10cSrcweir //---------------------------------------------------------------------------------------------------------
93cdf0e10cSrcweir // read access to transported filter
94cdf0e10cSrcweir //---------------------------------------------------------------------------------------------------------
95cdf0e10cSrcweir ::rtl::OUString SAL_CALL ContinuationFilterSelect::getFilter() throw( css::uno::RuntimeException )
96cdf0e10cSrcweir {
97cdf0e10cSrcweir     return m_sFilter;
98cdf0e10cSrcweir }
99cdf0e10cSrcweir 
100cdf0e10cSrcweir class RequestFilterSelect_Impl : public ::cppu::WeakImplHelper1< ::com::sun::star::task::XInteractionRequest >
101cdf0e10cSrcweir {
102cdf0e10cSrcweir public:
103cdf0e10cSrcweir     RequestFilterSelect_Impl( const ::rtl::OUString& sURL );
104cdf0e10cSrcweir     sal_Bool        isAbort  () const;
105cdf0e10cSrcweir     ::rtl::OUString getFilter() const;
106cdf0e10cSrcweir 
107cdf0e10cSrcweir public:
108cdf0e10cSrcweir     virtual ::com::sun::star::uno::Any SAL_CALL getRequest() throw( ::com::sun::star::uno::RuntimeException );
109cdf0e10cSrcweir     virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionContinuation > > SAL_CALL getContinuations() throw( ::com::sun::star::uno::RuntimeException );
110cdf0e10cSrcweir 
111cdf0e10cSrcweir private:
112cdf0e10cSrcweir     ::com::sun::star::uno::Any                                                                                                 m_aRequest      ;
113cdf0e10cSrcweir     ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionContinuation > >    m_lContinuations;
114cdf0e10cSrcweir     comphelper::OInteractionAbort* m_pAbort;
115cdf0e10cSrcweir     ContinuationFilterSelect* m_pFilter;
116cdf0e10cSrcweir };
117cdf0e10cSrcweir 
118cdf0e10cSrcweir //---------------------------------------------------------------------------------------------------------
119*07a3d7f1SPedro Giffuni // initialize instance with all necessary informations
120cdf0e10cSrcweir // We use it without any further checks on our member then ...!
121cdf0e10cSrcweir //---------------------------------------------------------------------------------------------------------
122cdf0e10cSrcweir RequestFilterSelect_Impl::RequestFilterSelect_Impl( const ::rtl::OUString& sURL )
123cdf0e10cSrcweir {
124cdf0e10cSrcweir 	::rtl::OUString temp;
125cdf0e10cSrcweir 	css::uno::Reference< css::uno::XInterface > temp2;
126cdf0e10cSrcweir     css::document::NoSuchFilterRequest aFilterRequest( temp                             ,
127cdf0e10cSrcweir                                                        temp2							,
128cdf0e10cSrcweir                                                        sURL                                          );
129cdf0e10cSrcweir     m_aRequest <<= aFilterRequest;
130cdf0e10cSrcweir 
131cdf0e10cSrcweir     m_pAbort  = new comphelper::OInteractionAbort;
132cdf0e10cSrcweir     m_pFilter = new ContinuationFilterSelect;
133cdf0e10cSrcweir 
134cdf0e10cSrcweir     m_lContinuations.realloc( 2 );
135cdf0e10cSrcweir     m_lContinuations[0] = css::uno::Reference< css::task::XInteractionContinuation >( m_pAbort  );
136cdf0e10cSrcweir     m_lContinuations[1] = css::uno::Reference< css::task::XInteractionContinuation >( m_pFilter );
137cdf0e10cSrcweir }
138cdf0e10cSrcweir 
139cdf0e10cSrcweir //---------------------------------------------------------------------------------------------------------
140cdf0e10cSrcweir // return abort state of interaction
141cdf0e10cSrcweir // If it is true, return value of method "getFilter()" will be unspecified then!
142cdf0e10cSrcweir //---------------------------------------------------------------------------------------------------------
143cdf0e10cSrcweir sal_Bool RequestFilterSelect_Impl::isAbort() const
144cdf0e10cSrcweir {
145cdf0e10cSrcweir     return m_pAbort->wasSelected();
146cdf0e10cSrcweir }
147cdf0e10cSrcweir 
148cdf0e10cSrcweir //---------------------------------------------------------------------------------------------------------
149cdf0e10cSrcweir // return user selected filter
150cdf0e10cSrcweir // Return value valid for non aborted interaction only. Please check "isAbort()" before you call these ony!
151cdf0e10cSrcweir //---------------------------------------------------------------------------------------------------------
152cdf0e10cSrcweir ::rtl::OUString RequestFilterSelect_Impl::getFilter() const
153cdf0e10cSrcweir {
154cdf0e10cSrcweir     return m_pFilter->getFilter();
155cdf0e10cSrcweir }
156cdf0e10cSrcweir 
157cdf0e10cSrcweir //---------------------------------------------------------------------------------------------------------
158cdf0e10cSrcweir // handler call it to get type of request
159cdf0e10cSrcweir // Is hard coded to "please select filter" here. see ctor for further informations.
160cdf0e10cSrcweir //---------------------------------------------------------------------------------------------------------
161cdf0e10cSrcweir css::uno::Any SAL_CALL RequestFilterSelect_Impl::getRequest() throw( css::uno::RuntimeException )
162cdf0e10cSrcweir {
163cdf0e10cSrcweir     return m_aRequest;
164cdf0e10cSrcweir }
165cdf0e10cSrcweir 
166cdf0e10cSrcweir //---------------------------------------------------------------------------------------------------------
167cdf0e10cSrcweir // handler call it to get possible continuations
168cdf0e10cSrcweir // We support "abort/select_filter" only here.
169cdf0e10cSrcweir // After interaction we support read access on these continuations on our c++ interface to
170cdf0e10cSrcweir // return user decision.
171cdf0e10cSrcweir //---------------------------------------------------------------------------------------------------------
172cdf0e10cSrcweir css::uno::Sequence< css::uno::Reference< css::task::XInteractionContinuation > > SAL_CALL RequestFilterSelect_Impl::getContinuations() throw( css::uno::RuntimeException )
173cdf0e10cSrcweir {
174cdf0e10cSrcweir     return m_lContinuations;
175cdf0e10cSrcweir }
176cdf0e10cSrcweir 
177cdf0e10cSrcweir 
178cdf0e10cSrcweir RequestFilterSelect::RequestFilterSelect( const ::rtl::OUString& sURL )
179cdf0e10cSrcweir {
180cdf0e10cSrcweir     pImp = new RequestFilterSelect_Impl( sURL );
181cdf0e10cSrcweir     pImp->acquire();
182cdf0e10cSrcweir }
183cdf0e10cSrcweir 
184cdf0e10cSrcweir RequestFilterSelect::~RequestFilterSelect()
185cdf0e10cSrcweir {
186cdf0e10cSrcweir     pImp->release();
187cdf0e10cSrcweir }
188cdf0e10cSrcweir 
189cdf0e10cSrcweir 
190cdf0e10cSrcweir //---------------------------------------------------------------------------------------------------------
191cdf0e10cSrcweir // return abort state of interaction
192cdf0e10cSrcweir // If it is true, return value of method "getFilter()" will be unspecified then!
193cdf0e10cSrcweir //---------------------------------------------------------------------------------------------------------
194cdf0e10cSrcweir sal_Bool RequestFilterSelect::isAbort() const
195cdf0e10cSrcweir {
196cdf0e10cSrcweir     return pImp->isAbort();
197cdf0e10cSrcweir }
198cdf0e10cSrcweir 
199cdf0e10cSrcweir //---------------------------------------------------------------------------------------------------------
200cdf0e10cSrcweir // return user selected filter
201cdf0e10cSrcweir // Return value valid for non aborted interaction only. Please check "isAbort()" before you call these ony!
202cdf0e10cSrcweir //---------------------------------------------------------------------------------------------------------
203cdf0e10cSrcweir ::rtl::OUString RequestFilterSelect::getFilter() const
204cdf0e10cSrcweir {
205cdf0e10cSrcweir     return pImp->getFilter();
206cdf0e10cSrcweir }
207cdf0e10cSrcweir 
208cdf0e10cSrcweir uno::Reference < task::XInteractionRequest > RequestFilterSelect::GetRequest()
209cdf0e10cSrcweir {
210cdf0e10cSrcweir     return uno::Reference < task::XInteractionRequest > (pImp);
211cdf0e10cSrcweir }
212cdf0e10cSrcweir 
213cdf0e10cSrcweir /*
214cdf0e10cSrcweir class RequestAmbigousFilter_Impl : public ::cppu::WeakImplHelper1< ::com::sun::star::task::XInteractionRequest >
215cdf0e10cSrcweir {
216cdf0e10cSrcweir public:
217cdf0e10cSrcweir     RequestAmbigousFilter_Impl( const ::rtl::OUString& sURL            ,
218cdf0e10cSrcweir                             const ::rtl::OUString& sSelectedFilter ,
219cdf0e10cSrcweir                             const ::rtl::OUString& sDetectedFilter );
220cdf0e10cSrcweir     sal_Bool        isAbort  () const;
221cdf0e10cSrcweir     ::rtl::OUString getFilter() const;
222cdf0e10cSrcweir 
223cdf0e10cSrcweir     virtual ::com::sun::star::uno::Any SAL_CALL getRequest () throw( ::com::sun::star::uno::RuntimeException );
224cdf0e10cSrcweir     virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionContinuation > > SAL_CALL getContinuations() throw( ::com::sun::star::uno::RuntimeException );
225cdf0e10cSrcweir 
226cdf0e10cSrcweir     ::com::sun::star::uno::Any                                                                                                 m_aRequest      ;
227cdf0e10cSrcweir     ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionContinuation > >    m_lContinuations;
228cdf0e10cSrcweir     ContinuationAbort*                                                                                                         m_pAbort        ;
229cdf0e10cSrcweir     ContinuationFilterSelect*                                                                                                  m_pFilter       ;
230cdf0e10cSrcweir };
231cdf0e10cSrcweir 
232cdf0e10cSrcweir RequestAmbigousFilter::RequestAmbigousFilter( const ::rtl::OUString& sURL, const ::rtl::OUString& sSelectedFilter,
233cdf0e10cSrcweir     const ::rtl::OUString& sDetectedFilter )
234cdf0e10cSrcweir {
235cdf0e10cSrcweir     pImp = new RequestAmbigousFilter_Impl( sURL, sSelectedFilter, sDetectedFilter );
236cdf0e10cSrcweir     pImp->acquire();
237cdf0e10cSrcweir }
238cdf0e10cSrcweir 
239cdf0e10cSrcweir RequestAmbigousFilter::~RequestAmbigousFilter()
240cdf0e10cSrcweir {
241cdf0e10cSrcweir     pImp->release();
242cdf0e10cSrcweir }
243cdf0e10cSrcweir 
244cdf0e10cSrcweir sal_Bool RequestAmbigousFilter::isAbort() const
245cdf0e10cSrcweir {
246cdf0e10cSrcweir     return pImp->isAbort();
247cdf0e10cSrcweir }
248cdf0e10cSrcweir 
249cdf0e10cSrcweir //---------------------------------------------------------------------------------------------------------
250cdf0e10cSrcweir // return user selected filter
251cdf0e10cSrcweir // Return value valid for non aborted interaction only. Please check "isAbort()" before you call these ony!
252cdf0e10cSrcweir //---------------------------------------------------------------------------------------------------------
253cdf0e10cSrcweir ::rtl::OUString RequestAmbigousFilter::getFilter() const
254cdf0e10cSrcweir {
255cdf0e10cSrcweir     return pImp->getFilter();
256cdf0e10cSrcweir }
257cdf0e10cSrcweir 
258cdf0e10cSrcweir uno::Reference < task::XInteractionRequest > RequestAmbigousFilter::GetRequest()
259cdf0e10cSrcweir {
260cdf0e10cSrcweir     return uno::Reference < task::XInteractionRequest > (pImp);
261cdf0e10cSrcweir }
262cdf0e10cSrcweir 
263cdf0e10cSrcweir //---------------------------------------------------------------------------------------------------------
264*07a3d7f1SPedro Giffuni // initialize instance with all necessary informations
265cdf0e10cSrcweir // We use it without any further checks on our member then ...!
266cdf0e10cSrcweir //---------------------------------------------------------------------------------------------------------
267cdf0e10cSrcweir RequestAmbigousFilter_Impl::RequestAmbigousFilter_Impl( const ::rtl::OUString& sURL            ,
268cdf0e10cSrcweir                                               const ::rtl::OUString& sSelectedFilter ,
269cdf0e10cSrcweir                                               const ::rtl::OUString& sDetectedFilter )
270cdf0e10cSrcweir {
271cdf0e10cSrcweir 	::rtl::OUString temp;
272cdf0e10cSrcweir 	css::uno::Reference< css::uno::XInterface > temp2;
273cdf0e10cSrcweir     css::document::AmbigousFilterRequest aFilterRequest( temp                             ,
274cdf0e10cSrcweir                                                          temp2 ,
275cdf0e10cSrcweir                                                          sURL                                          ,
276cdf0e10cSrcweir                                                          sSelectedFilter                               ,
277cdf0e10cSrcweir                                                          sDetectedFilter                               );
278cdf0e10cSrcweir     m_aRequest <<= aFilterRequest;
279cdf0e10cSrcweir 
280cdf0e10cSrcweir     m_pAbort  = new ContinuationAbort       ;
281cdf0e10cSrcweir     m_pFilter = new ContinuationFilterSelect;
282cdf0e10cSrcweir 
283cdf0e10cSrcweir     m_lContinuations.realloc( 2 );
284cdf0e10cSrcweir     m_lContinuations[0] = css::uno::Reference< css::task::XInteractionContinuation >( m_pAbort  );
285cdf0e10cSrcweir     m_lContinuations[1] = css::uno::Reference< css::task::XInteractionContinuation >( m_pFilter );
286cdf0e10cSrcweir }
287cdf0e10cSrcweir 
288cdf0e10cSrcweir //---------------------------------------------------------------------------------------------------------
289cdf0e10cSrcweir // return abort state of interaction
290cdf0e10cSrcweir // If it is true, return value of method "getFilter()" will be unspecified then!
291cdf0e10cSrcweir //---------------------------------------------------------------------------------------------------------
292cdf0e10cSrcweir sal_Bool RequestAmbigousFilter_Impl::isAbort() const
293cdf0e10cSrcweir {
294cdf0e10cSrcweir     return m_pAbort->isSelected();
295cdf0e10cSrcweir }
296cdf0e10cSrcweir 
297cdf0e10cSrcweir //---------------------------------------------------------------------------------------------------------
298cdf0e10cSrcweir // return user selected filter
299cdf0e10cSrcweir // Return value valid for non aborted interaction only. Please check "isAbort()" before you call these ony!
300cdf0e10cSrcweir //---------------------------------------------------------------------------------------------------------
301cdf0e10cSrcweir ::rtl::OUString RequestAmbigousFilter_Impl::getFilter() const
302cdf0e10cSrcweir {
303cdf0e10cSrcweir     return m_pFilter->getFilter();
304cdf0e10cSrcweir }
305cdf0e10cSrcweir 
306cdf0e10cSrcweir //---------------------------------------------------------------------------------------------------------
307cdf0e10cSrcweir // handler call it to get type of request
308cdf0e10cSrcweir // Is hard coded to "please select filter" here. see ctor for further informations.
309cdf0e10cSrcweir //---------------------------------------------------------------------------------------------------------
310cdf0e10cSrcweir css::uno::Any SAL_CALL RequestAmbigousFilter_Impl::getRequest() throw( css::uno::RuntimeException )
311cdf0e10cSrcweir {
312cdf0e10cSrcweir     return m_aRequest;
313cdf0e10cSrcweir }
314cdf0e10cSrcweir 
315cdf0e10cSrcweir //---------------------------------------------------------------------------------------------------------
316cdf0e10cSrcweir // handler call it to get possible continuations
317cdf0e10cSrcweir // We support "abort/select_filter" only here.
318cdf0e10cSrcweir // After interaction we support read access on these continuations on our c++ interface to
319cdf0e10cSrcweir // return user decision.
320cdf0e10cSrcweir //---------------------------------------------------------------------------------------------------------
321cdf0e10cSrcweir css::uno::Sequence< css::uno::Reference< css::task::XInteractionContinuation > > SAL_CALL RequestAmbigousFilter_Impl::getContinuations() throw( css::uno::RuntimeException )
322cdf0e10cSrcweir {
323cdf0e10cSrcweir     return m_lContinuations;
324cdf0e10cSrcweir }
325cdf0e10cSrcweir */
326cdf0e10cSrcweir 
327cdf0e10cSrcweir class InteractionRequest_Impl : public ::cppu::WeakImplHelper1< ::com::sun::star::task::XInteractionRequest >
328cdf0e10cSrcweir {
329cdf0e10cSrcweir     uno::Any m_aRequest;
330cdf0e10cSrcweir     uno::Sequence< ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionContinuation > > m_lContinuations;
331cdf0e10cSrcweir 
332cdf0e10cSrcweir public:
333cdf0e10cSrcweir     InteractionRequest_Impl( const ::com::sun::star::uno::Any& aRequest,
334cdf0e10cSrcweir         const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionContinuation > > lContinuations )
335cdf0e10cSrcweir     {
336cdf0e10cSrcweir         m_aRequest = aRequest;
337cdf0e10cSrcweir         m_lContinuations = lContinuations;
338cdf0e10cSrcweir     }
339cdf0e10cSrcweir 
340cdf0e10cSrcweir     virtual uno::Any SAL_CALL getRequest() throw( uno::RuntimeException );
341cdf0e10cSrcweir     virtual uno::Sequence< uno::Reference< task::XInteractionContinuation > > SAL_CALL getContinuations()
342cdf0e10cSrcweir             throw( uno::RuntimeException );
343cdf0e10cSrcweir };
344cdf0e10cSrcweir 
345cdf0e10cSrcweir uno::Any SAL_CALL InteractionRequest_Impl::getRequest() throw( uno::RuntimeException )
346cdf0e10cSrcweir {
347cdf0e10cSrcweir     return m_aRequest;
348cdf0e10cSrcweir }
349cdf0e10cSrcweir 
350cdf0e10cSrcweir uno::Sequence< uno::Reference< task::XInteractionContinuation > > SAL_CALL InteractionRequest_Impl::getContinuations()
351cdf0e10cSrcweir     throw( uno::RuntimeException )
352cdf0e10cSrcweir {
353cdf0e10cSrcweir     return m_lContinuations;
354cdf0e10cSrcweir }
355cdf0e10cSrcweir 
356cdf0e10cSrcweir uno::Reference < task::XInteractionRequest > InteractionRequest::CreateRequest(
357cdf0e10cSrcweir     const uno::Any& aRequest, const uno::Sequence< uno::Reference< task::XInteractionContinuation > > lContinuations )
358cdf0e10cSrcweir {
359cdf0e10cSrcweir     return new InteractionRequest_Impl( aRequest, lContinuations );
360cdf0e10cSrcweir }
361cdf0e10cSrcweir 
362cdf0e10cSrcweir }       //  namespace framework
363