1 /*************************************************************************
2  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
3  *
4  * Copyright 2000, 2010 Oracle and/or its affiliates.
5  *
6  * OpenOffice.org - a multi-platform office productivity suite
7  *
8  * This file is part of OpenOffice.org.
9  *
10  * OpenOffice.org is free software: you can redistribute it and/or modify
11  * it under the terms of the GNU Lesser General Public License version 3
12  * only, as published by the Free Software Foundation.
13  *
14  * OpenOffice.org is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17  * GNU Lesser General Public License version 3 for more details
18  * (a copy is included in the LICENSE file that accompanied this code).
19  *
20  * You should have received a copy of the GNU Lesser General Public License
21  * version 3 along with OpenOffice.org.  If not, see
22  * <http://www.openoffice.org/license.html>
23  * for a copy of the LGPLv3 License.
24  *
25 ************************************************************************/
26 
27 #include "precompiled_ucb.hxx"
28 
29 #include "ucpext_resultset.hxx"
30 #include "ucpext_content.hxx"
31 #include "ucpext_datasupplier.hxx"
32 
33 /** === begin UNO includes === **/
34 /** === end UNO includes === **/
35 
36 #include <ucbhelper/resultset.hxx>
37 
38 //......................................................................................................................
39 namespace ucb { namespace ucp { namespace ext
40 {
41 //......................................................................................................................
42 
43 	/** === begin UNO using === **/
44 	using ::com::sun::star::uno::Reference;
45 	using ::com::sun::star::uno::XInterface;
46 	using ::com::sun::star::uno::UNO_QUERY;
47 	using ::com::sun::star::uno::UNO_QUERY_THROW;
48 	using ::com::sun::star::uno::UNO_SET_THROW;
49 	using ::com::sun::star::uno::Exception;
50 	using ::com::sun::star::uno::RuntimeException;
51 	using ::com::sun::star::uno::Any;
52 	using ::com::sun::star::uno::makeAny;
53 	using ::com::sun::star::uno::Sequence;
54 	using ::com::sun::star::uno::Type;
55     using ::com::sun::star::lang::XMultiServiceFactory;
56     using ::com::sun::star::ucb::XContentIdentifier;
57     using ::com::sun::star::ucb::OpenCommandArgument2;
58     using ::com::sun::star::ucb::XCommandEnvironment;
59 	/** === end UNO using === **/
60 
61     //==================================================================================================================
62     //= ResultSet
63     //==================================================================================================================
64     //------------------------------------------------------------------------------------------------------------------
65     ResultSet::ResultSet( const Reference< XMultiServiceFactory >& i_rORB, const ::rtl::Reference< Content >& i_rContent,
66             const OpenCommandArgument2& i_rCommand, const Reference< XCommandEnvironment >& i_rEnv )
67         :ResultSetImplHelper( i_rORB, i_rCommand )
68         ,m_xEnvironment( i_rEnv )
69         ,m_xContent( i_rContent )
70     {
71     }
72 
73     //------------------------------------------------------------------------------------------------------------------
74     void ResultSet::initStatic()
75     {
76         ::rtl::Reference< DataSupplier > pDataSupplier( new DataSupplier(
77             m_xSMgr,
78             m_xContent,
79             m_aCommand.Mode
80         ) );
81 	    m_xResultSet1 = new ::ucbhelper::ResultSet(
82             m_xSMgr,
83             m_aCommand.Properties,
84             pDataSupplier.get(),
85             m_xEnvironment
86         );
87         pDataSupplier->fetchData();
88     }
89 
90     //------------------------------------------------------------------------------------------------------------------
91     void ResultSet::initDynamic()
92     {
93         initStatic();
94 	    m_xResultSet2 = m_xResultSet1;
95     }
96 
97 //......................................................................................................................
98 } } }   // namespace ucp::ext
99 //......................................................................................................................
100