xref: /aoo4110/main/ucb/source/ucp/file/filrset.hxx (revision b1cdbd2c)
1*b1cdbd2cSJim Jagielski /**************************************************************
2*b1cdbd2cSJim Jagielski  *
3*b1cdbd2cSJim Jagielski  * Licensed to the Apache Software Foundation (ASF) under one
4*b1cdbd2cSJim Jagielski  * or more contributor license agreements.  See the NOTICE file
5*b1cdbd2cSJim Jagielski  * distributed with this work for additional information
6*b1cdbd2cSJim Jagielski  * regarding copyright ownership.  The ASF licenses this file
7*b1cdbd2cSJim Jagielski  * to you under the Apache License, Version 2.0 (the
8*b1cdbd2cSJim Jagielski  * "License"); you may not use this file except in compliance
9*b1cdbd2cSJim Jagielski  * with the License.  You may obtain a copy of the License at
10*b1cdbd2cSJim Jagielski  *
11*b1cdbd2cSJim Jagielski  *   http://www.apache.org/licenses/LICENSE-2.0
12*b1cdbd2cSJim Jagielski  *
13*b1cdbd2cSJim Jagielski  * Unless required by applicable law or agreed to in writing,
14*b1cdbd2cSJim Jagielski  * software distributed under the License is distributed on an
15*b1cdbd2cSJim Jagielski  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*b1cdbd2cSJim Jagielski  * KIND, either express or implied.  See the License for the
17*b1cdbd2cSJim Jagielski  * specific language governing permissions and limitations
18*b1cdbd2cSJim Jagielski  * under the License.
19*b1cdbd2cSJim Jagielski  *
20*b1cdbd2cSJim Jagielski  *************************************************************/
21*b1cdbd2cSJim Jagielski 
22*b1cdbd2cSJim Jagielski 
23*b1cdbd2cSJim Jagielski #ifndef _FILRSET_HXX_
24*b1cdbd2cSJim Jagielski #define _FILRSET_HXX_
25*b1cdbd2cSJim Jagielski 
26*b1cdbd2cSJim Jagielski #ifndef __SGI_STL_VECTOR
27*b1cdbd2cSJim Jagielski #include <vector>
28*b1cdbd2cSJim Jagielski #endif
29*b1cdbd2cSJim Jagielski #include <ucbhelper/macros.hxx>
30*b1cdbd2cSJim Jagielski #include <osl/file.hxx>
31*b1cdbd2cSJim Jagielski 
32*b1cdbd2cSJim Jagielski #include "osl/mutex.hxx"
33*b1cdbd2cSJim Jagielski #include <cppuhelper/weak.hxx>
34*b1cdbd2cSJim Jagielski #include <cppuhelper/interfacecontainer.hxx>
35*b1cdbd2cSJim Jagielski #include <com/sun/star/lang/XTypeProvider.hpp>
36*b1cdbd2cSJim Jagielski #include <com/sun/star/ucb/XContentAccess.hpp>
37*b1cdbd2cSJim Jagielski #include <com/sun/star/sdbc/XCloseable.hpp>
38*b1cdbd2cSJim Jagielski #include <com/sun/star/beans/XPropertySet.hpp>
39*b1cdbd2cSJim Jagielski #ifndef _COM_SUN_STAR_UCB_XDYNAMICRESULTSET_HPP__
40*b1cdbd2cSJim Jagielski #include <com/sun/star/ucb/XDynamicResultSet.hpp>
41*b1cdbd2cSJim Jagielski #endif
42*b1cdbd2cSJim Jagielski #include <com/sun/star/ucb/XDynamicResultSetListener.hpp>
43*b1cdbd2cSJim Jagielski #include <com/sun/star/sdbc/XResultSetMetaDataSupplier.hpp>
44*b1cdbd2cSJim Jagielski #include <com/sun/star/ucb/NumberedSortingInfo.hpp>
45*b1cdbd2cSJim Jagielski #include <com/sun/star/ucb/XContentProvider.hpp>
46*b1cdbd2cSJim Jagielski #include <com/sun/star/ucb/XContentIdentifier.hpp>
47*b1cdbd2cSJim Jagielski #include <com/sun/star/beans/Property.hpp>
48*b1cdbd2cSJim Jagielski #include "filrow.hxx"
49*b1cdbd2cSJim Jagielski #include "filnot.hxx"
50*b1cdbd2cSJim Jagielski 
51*b1cdbd2cSJim Jagielski 
52*b1cdbd2cSJim Jagielski 
53*b1cdbd2cSJim Jagielski namespace fileaccess {
54*b1cdbd2cSJim Jagielski 
55*b1cdbd2cSJim Jagielski 	class Notifier;
56*b1cdbd2cSJim Jagielski 
57*b1cdbd2cSJim Jagielski 	class XResultSet_impl
58*b1cdbd2cSJim Jagielski 		: public cppu::OWeakObject,
59*b1cdbd2cSJim Jagielski 		  public com::sun::star::lang::XTypeProvider,
60*b1cdbd2cSJim Jagielski 		  public com::sun::star::lang::XEventListener,
61*b1cdbd2cSJim Jagielski 		  public com::sun::star::sdbc::XRow,
62*b1cdbd2cSJim Jagielski 		  public com::sun::star::sdbc::XResultSet,
63*b1cdbd2cSJim Jagielski 		  public com::sun::star::ucb::XDynamicResultSet,
64*b1cdbd2cSJim Jagielski 		  public com::sun::star::sdbc::XCloseable,
65*b1cdbd2cSJim Jagielski 		  public com::sun::star::sdbc::XResultSetMetaDataSupplier,
66*b1cdbd2cSJim Jagielski 		  public com::sun::star::beans::XPropertySet,
67*b1cdbd2cSJim Jagielski 		  public com::sun::star::ucb::XContentAccess,
68*b1cdbd2cSJim Jagielski 		  public Notifier
69*b1cdbd2cSJim Jagielski 	{
70*b1cdbd2cSJim Jagielski 	public:
71*b1cdbd2cSJim Jagielski 
72*b1cdbd2cSJim Jagielski 		XResultSet_impl( shell* pMyShell,
73*b1cdbd2cSJim Jagielski 						 const rtl::OUString& aUnqPath,
74*b1cdbd2cSJim Jagielski 						 sal_Int32 OpenMode,
75*b1cdbd2cSJim Jagielski 						 const com::sun::star::uno::Sequence< com::sun::star::beans::Property >& seq,
76*b1cdbd2cSJim Jagielski 						 const com::sun::star::uno::Sequence< com::sun::star::ucb::NumberedSortingInfo >& seqSort );
77*b1cdbd2cSJim Jagielski 
78*b1cdbd2cSJim Jagielski 		virtual ~XResultSet_impl();
79*b1cdbd2cSJim Jagielski 
cDEL(void)80*b1cdbd2cSJim Jagielski 		virtual ContentEventNotifier*        cDEL( void )
81*b1cdbd2cSJim Jagielski 		{
82*b1cdbd2cSJim Jagielski 			return 0;
83*b1cdbd2cSJim Jagielski 		}
84*b1cdbd2cSJim Jagielski 
cEXC(const rtl::OUString)85*b1cdbd2cSJim Jagielski 		virtual ContentEventNotifier*        cEXC( const rtl::OUString )
86*b1cdbd2cSJim Jagielski 		{
87*b1cdbd2cSJim Jagielski 			return 0;
88*b1cdbd2cSJim Jagielski 		}
89*b1cdbd2cSJim Jagielski 
cCEL(void)90*b1cdbd2cSJim Jagielski 		virtual ContentEventNotifier*          cCEL( void )
91*b1cdbd2cSJim Jagielski 		{
92*b1cdbd2cSJim Jagielski 			return 0;
93*b1cdbd2cSJim Jagielski 		}
94*b1cdbd2cSJim Jagielski 
cPSL(void)95*b1cdbd2cSJim Jagielski 		virtual PropertySetInfoChangeNotifier* cPSL( void )
96*b1cdbd2cSJim Jagielski 		{
97*b1cdbd2cSJim Jagielski 			return 0;
98*b1cdbd2cSJim Jagielski 		}
99*b1cdbd2cSJim Jagielski 
cPCL(void)100*b1cdbd2cSJim Jagielski 		virtual PropertyChangeNotifier*        cPCL( void )
101*b1cdbd2cSJim Jagielski 		{
102*b1cdbd2cSJim Jagielski 			return 0;
103*b1cdbd2cSJim Jagielski 		}
104*b1cdbd2cSJim Jagielski 
getKey(void)105*b1cdbd2cSJim Jagielski 		virtual rtl::OUString                  getKey( void )
106*b1cdbd2cSJim Jagielski 		{
107*b1cdbd2cSJim Jagielski 			return m_aBaseDirectory;
108*b1cdbd2cSJim Jagielski 		}
109*b1cdbd2cSJim Jagielski 
110*b1cdbd2cSJim Jagielski 		sal_Int32 SAL_CALL CtorSuccess();
111*b1cdbd2cSJim Jagielski 		sal_Int32 SAL_CALL getMinorError();
112*b1cdbd2cSJim Jagielski 
113*b1cdbd2cSJim Jagielski 		// XInterface
114*b1cdbd2cSJim Jagielski 		virtual com::sun::star::uno::Any SAL_CALL
115*b1cdbd2cSJim Jagielski 		queryInterface(
116*b1cdbd2cSJim Jagielski 			const com::sun::star::uno::Type& aType )
117*b1cdbd2cSJim Jagielski 			throw( com::sun::star::uno::RuntimeException);
118*b1cdbd2cSJim Jagielski 
119*b1cdbd2cSJim Jagielski 		virtual void SAL_CALL
120*b1cdbd2cSJim Jagielski 		acquire(
121*b1cdbd2cSJim Jagielski 			void )
122*b1cdbd2cSJim Jagielski 			throw();
123*b1cdbd2cSJim Jagielski 
124*b1cdbd2cSJim Jagielski 		virtual void SAL_CALL
125*b1cdbd2cSJim Jagielski 		release(
126*b1cdbd2cSJim Jagielski 			void )
127*b1cdbd2cSJim Jagielski 			throw();
128*b1cdbd2cSJim Jagielski 
129*b1cdbd2cSJim Jagielski 
130*b1cdbd2cSJim Jagielski 		// XTypeProvider
131*b1cdbd2cSJim Jagielski 
132*b1cdbd2cSJim Jagielski 		XTYPEPROVIDER_DECL()
133*b1cdbd2cSJim Jagielski 
134*b1cdbd2cSJim Jagielski 
135*b1cdbd2cSJim Jagielski 		// XEventListener
136*b1cdbd2cSJim Jagielski 		virtual void SAL_CALL
137*b1cdbd2cSJim Jagielski 		disposing(
138*b1cdbd2cSJim Jagielski 			const com::sun::star::lang::EventObject& Source )
139*b1cdbd2cSJim Jagielski 			throw( com::sun::star::uno::RuntimeException );
140*b1cdbd2cSJim Jagielski 
141*b1cdbd2cSJim Jagielski 		// XComponent
142*b1cdbd2cSJim Jagielski 		virtual void SAL_CALL
143*b1cdbd2cSJim Jagielski 		dispose(
144*b1cdbd2cSJim Jagielski 			void )
145*b1cdbd2cSJim Jagielski 			throw( com::sun::star::uno::RuntimeException );
146*b1cdbd2cSJim Jagielski 
147*b1cdbd2cSJim Jagielski 		virtual void SAL_CALL
148*b1cdbd2cSJim Jagielski 		addEventListener(
149*b1cdbd2cSJim Jagielski 			const com::sun::star::uno::Reference< com::sun::star::lang::XEventListener >& xListener )
150*b1cdbd2cSJim Jagielski 			throw( com::sun::star::uno::RuntimeException );
151*b1cdbd2cSJim Jagielski 
152*b1cdbd2cSJim Jagielski 		virtual void SAL_CALL
153*b1cdbd2cSJim Jagielski 		removeEventListener( const com::sun::star::uno::Reference< com::sun::star::lang::XEventListener >& aListener )
154*b1cdbd2cSJim Jagielski 			throw( com::sun::star::uno::RuntimeException );
155*b1cdbd2cSJim Jagielski 
156*b1cdbd2cSJim Jagielski 
157*b1cdbd2cSJim Jagielski 		// XRow
158*b1cdbd2cSJim Jagielski 		virtual sal_Bool SAL_CALL
wasNull(void)159*b1cdbd2cSJim Jagielski 		wasNull(
160*b1cdbd2cSJim Jagielski 			void )
161*b1cdbd2cSJim Jagielski 			throw( com::sun::star::sdbc::SQLException,
162*b1cdbd2cSJim Jagielski 				   com::sun::star::uno::RuntimeException )
163*b1cdbd2cSJim Jagielski 		{
164*b1cdbd2cSJim Jagielski 			if( 0<= m_nRow && m_nRow < sal::static_int_cast<sal_Int32>(m_aItems.size()) )
165*b1cdbd2cSJim Jagielski 				m_nWasNull = m_aItems[m_nRow]->wasNull();
166*b1cdbd2cSJim Jagielski 			else
167*b1cdbd2cSJim Jagielski 				m_nWasNull = true;
168*b1cdbd2cSJim Jagielski 			return m_nWasNull;
169*b1cdbd2cSJim Jagielski 		}
170*b1cdbd2cSJim Jagielski 
171*b1cdbd2cSJim Jagielski 		virtual rtl::OUString SAL_CALL
getString(sal_Int32 columnIndex)172*b1cdbd2cSJim Jagielski 		getString(
173*b1cdbd2cSJim Jagielski 			sal_Int32 columnIndex )
174*b1cdbd2cSJim Jagielski 			throw( com::sun::star::sdbc::SQLException,
175*b1cdbd2cSJim Jagielski 				   com::sun::star::uno::RuntimeException)
176*b1cdbd2cSJim Jagielski 		{
177*b1cdbd2cSJim Jagielski 			if( 0 <= m_nRow && m_nRow < sal::static_int_cast<sal_Int32>(m_aItems.size()) )
178*b1cdbd2cSJim Jagielski 				return m_aItems[m_nRow]->getString( columnIndex );
179*b1cdbd2cSJim Jagielski 			else
180*b1cdbd2cSJim Jagielski 				return rtl::OUString();
181*b1cdbd2cSJim Jagielski 		}
182*b1cdbd2cSJim Jagielski 
183*b1cdbd2cSJim Jagielski 		virtual sal_Bool SAL_CALL
getBoolean(sal_Int32 columnIndex)184*b1cdbd2cSJim Jagielski 		getBoolean(
185*b1cdbd2cSJim Jagielski 			sal_Int32 columnIndex )
186*b1cdbd2cSJim Jagielski 			throw( com::sun::star::sdbc::SQLException,
187*b1cdbd2cSJim Jagielski 				   com::sun::star::uno::RuntimeException)
188*b1cdbd2cSJim Jagielski 		{
189*b1cdbd2cSJim Jagielski 			if( 0 <= m_nRow && m_nRow < sal::static_int_cast<sal_Int32>(m_aItems.size()) )
190*b1cdbd2cSJim Jagielski 				return m_aItems[m_nRow]->getBoolean( columnIndex );
191*b1cdbd2cSJim Jagielski 			else
192*b1cdbd2cSJim Jagielski 				return false;
193*b1cdbd2cSJim Jagielski 		}
194*b1cdbd2cSJim Jagielski 
195*b1cdbd2cSJim Jagielski 		virtual sal_Int8 SAL_CALL
getByte(sal_Int32 columnIndex)196*b1cdbd2cSJim Jagielski 		getByte(
197*b1cdbd2cSJim Jagielski 			sal_Int32 columnIndex )
198*b1cdbd2cSJim Jagielski 			throw( com::sun::star::sdbc::SQLException,
199*b1cdbd2cSJim Jagielski 				   com::sun::star::uno::RuntimeException)
200*b1cdbd2cSJim Jagielski 		{
201*b1cdbd2cSJim Jagielski 			if( 0 <= m_nRow && m_nRow < sal::static_int_cast<sal_Int32>(m_aItems.size()) )
202*b1cdbd2cSJim Jagielski 				return m_aItems[m_nRow]->getByte( columnIndex );
203*b1cdbd2cSJim Jagielski 			else
204*b1cdbd2cSJim Jagielski 				return sal_Int8( 0 );
205*b1cdbd2cSJim Jagielski 		}
206*b1cdbd2cSJim Jagielski 
207*b1cdbd2cSJim Jagielski 		virtual sal_Int16 SAL_CALL
getShort(sal_Int32 columnIndex)208*b1cdbd2cSJim Jagielski 		getShort(
209*b1cdbd2cSJim Jagielski 			sal_Int32 columnIndex )
210*b1cdbd2cSJim Jagielski 			throw(
211*b1cdbd2cSJim Jagielski 				com::sun::star::sdbc::SQLException,
212*b1cdbd2cSJim Jagielski 				com::sun::star::uno::RuntimeException)
213*b1cdbd2cSJim Jagielski 		{
214*b1cdbd2cSJim Jagielski 			if( 0 <= m_nRow && m_nRow < sal::static_int_cast<sal_Int32>(m_aItems.size()) )
215*b1cdbd2cSJim Jagielski 				return m_aItems[m_nRow]->getShort( columnIndex );
216*b1cdbd2cSJim Jagielski 			else
217*b1cdbd2cSJim Jagielski 				return sal_Int16( 0 );
218*b1cdbd2cSJim Jagielski 		}
219*b1cdbd2cSJim Jagielski 
220*b1cdbd2cSJim Jagielski 		virtual sal_Int32 SAL_CALL
getInt(sal_Int32 columnIndex)221*b1cdbd2cSJim Jagielski 		getInt(
222*b1cdbd2cSJim Jagielski 			sal_Int32 columnIndex )
223*b1cdbd2cSJim Jagielski 			throw( com::sun::star::sdbc::SQLException,
224*b1cdbd2cSJim Jagielski 				   com::sun::star::uno::RuntimeException )
225*b1cdbd2cSJim Jagielski 		{
226*b1cdbd2cSJim Jagielski 			if( 0 <= m_nRow && m_nRow < sal::static_int_cast<sal_Int32>(m_aItems.size()) )
227*b1cdbd2cSJim Jagielski 				return m_aItems[m_nRow]->getInt( columnIndex );
228*b1cdbd2cSJim Jagielski 			else
229*b1cdbd2cSJim Jagielski 				return sal_Int32( 0 );
230*b1cdbd2cSJim Jagielski 		}
231*b1cdbd2cSJim Jagielski 
232*b1cdbd2cSJim Jagielski 		virtual sal_Int64 SAL_CALL
getLong(sal_Int32 columnIndex)233*b1cdbd2cSJim Jagielski 		getLong(
234*b1cdbd2cSJim Jagielski 			sal_Int32 columnIndex )
235*b1cdbd2cSJim Jagielski 			throw( com::sun::star::sdbc::SQLException,
236*b1cdbd2cSJim Jagielski 				   com::sun::star::uno::RuntimeException)
237*b1cdbd2cSJim Jagielski 		{
238*b1cdbd2cSJim Jagielski 			if( 0 <= m_nRow && m_nRow < sal::static_int_cast<sal_Int32>(m_aItems.size()) )
239*b1cdbd2cSJim Jagielski 				return m_aItems[m_nRow]->getLong( columnIndex );
240*b1cdbd2cSJim Jagielski 			else
241*b1cdbd2cSJim Jagielski 				return sal_Int64( 0 );
242*b1cdbd2cSJim Jagielski 		}
243*b1cdbd2cSJim Jagielski 
244*b1cdbd2cSJim Jagielski 		virtual float SAL_CALL
getFloat(sal_Int32 columnIndex)245*b1cdbd2cSJim Jagielski 		getFloat(
246*b1cdbd2cSJim Jagielski 			sal_Int32 columnIndex )
247*b1cdbd2cSJim Jagielski 			throw( com::sun::star::sdbc::SQLException,
248*b1cdbd2cSJim Jagielski 				   com::sun::star::uno::RuntimeException )
249*b1cdbd2cSJim Jagielski 		{
250*b1cdbd2cSJim Jagielski 			if( 0 <= m_nRow && m_nRow < sal::static_int_cast<sal_Int32>(m_aItems.size()) )
251*b1cdbd2cSJim Jagielski 				return m_aItems[m_nRow]->getFloat( columnIndex );
252*b1cdbd2cSJim Jagielski 			else
253*b1cdbd2cSJim Jagielski 				return float( 0 );
254*b1cdbd2cSJim Jagielski 		}
255*b1cdbd2cSJim Jagielski 
256*b1cdbd2cSJim Jagielski 		virtual double SAL_CALL
getDouble(sal_Int32 columnIndex)257*b1cdbd2cSJim Jagielski 		getDouble(
258*b1cdbd2cSJim Jagielski 			sal_Int32 columnIndex )
259*b1cdbd2cSJim Jagielski 			throw( com::sun::star::sdbc::SQLException,
260*b1cdbd2cSJim Jagielski 				   com::sun::star::uno::RuntimeException )
261*b1cdbd2cSJim Jagielski 		{
262*b1cdbd2cSJim Jagielski 			if( 0 <= m_nRow && m_nRow < sal::static_int_cast<sal_Int32>(m_aItems.size()) )
263*b1cdbd2cSJim Jagielski 				return m_aItems[m_nRow]->getDouble( columnIndex );
264*b1cdbd2cSJim Jagielski 			else
265*b1cdbd2cSJim Jagielski 				return double( 0 );
266*b1cdbd2cSJim Jagielski 		}
267*b1cdbd2cSJim Jagielski 
268*b1cdbd2cSJim Jagielski 		virtual com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL
getBytes(sal_Int32 columnIndex)269*b1cdbd2cSJim Jagielski 		getBytes(
270*b1cdbd2cSJim Jagielski 			sal_Int32 columnIndex )
271*b1cdbd2cSJim Jagielski 			throw( com::sun::star::sdbc::SQLException,
272*b1cdbd2cSJim Jagielski 				   com::sun::star::uno::RuntimeException )
273*b1cdbd2cSJim Jagielski 		{
274*b1cdbd2cSJim Jagielski 			if( 0 <= m_nRow && m_nRow < sal::static_int_cast<sal_Int32>(m_aItems.size()) )
275*b1cdbd2cSJim Jagielski 				return m_aItems[m_nRow]->getBytes( columnIndex );
276*b1cdbd2cSJim Jagielski 			else
277*b1cdbd2cSJim Jagielski 				return com::sun::star::uno::Sequence< sal_Int8 >();
278*b1cdbd2cSJim Jagielski 		}
279*b1cdbd2cSJim Jagielski 
280*b1cdbd2cSJim Jagielski 		virtual com::sun::star::util::Date SAL_CALL
getDate(sal_Int32 columnIndex)281*b1cdbd2cSJim Jagielski 		getDate(
282*b1cdbd2cSJim Jagielski 			sal_Int32 columnIndex )
283*b1cdbd2cSJim Jagielski 			throw( com::sun::star::sdbc::SQLException,
284*b1cdbd2cSJim Jagielski 				   com::sun::star::uno::RuntimeException)
285*b1cdbd2cSJim Jagielski 		{
286*b1cdbd2cSJim Jagielski 			if( 0 <= m_nRow && m_nRow < sal::static_int_cast<sal_Int32>(m_aItems.size()) )
287*b1cdbd2cSJim Jagielski 				return m_aItems[m_nRow]->getDate( columnIndex );
288*b1cdbd2cSJim Jagielski 			else
289*b1cdbd2cSJim Jagielski 				return com::sun::star::util::Date();
290*b1cdbd2cSJim Jagielski 		}
291*b1cdbd2cSJim Jagielski 
292*b1cdbd2cSJim Jagielski 		virtual com::sun::star::util::Time SAL_CALL
getTime(sal_Int32 columnIndex)293*b1cdbd2cSJim Jagielski 		getTime(
294*b1cdbd2cSJim Jagielski 			sal_Int32 columnIndex )
295*b1cdbd2cSJim Jagielski 			throw( com::sun::star::sdbc::SQLException,
296*b1cdbd2cSJim Jagielski 				   com::sun::star::uno::RuntimeException)
297*b1cdbd2cSJim Jagielski 		{
298*b1cdbd2cSJim Jagielski 			if( 0 <= m_nRow && m_nRow < sal::static_int_cast<sal_Int32>(m_aItems.size()) )
299*b1cdbd2cSJim Jagielski 				return m_aItems[m_nRow]->getTime( columnIndex );
300*b1cdbd2cSJim Jagielski 			else
301*b1cdbd2cSJim Jagielski 				return com::sun::star::util::Time();
302*b1cdbd2cSJim Jagielski 		}
303*b1cdbd2cSJim Jagielski 
304*b1cdbd2cSJim Jagielski 		virtual com::sun::star::util::DateTime SAL_CALL
getTimestamp(sal_Int32 columnIndex)305*b1cdbd2cSJim Jagielski 		getTimestamp(
306*b1cdbd2cSJim Jagielski 			sal_Int32 columnIndex )
307*b1cdbd2cSJim Jagielski 			throw( com::sun::star::sdbc::SQLException,
308*b1cdbd2cSJim Jagielski 				   com::sun::star::uno::RuntimeException)
309*b1cdbd2cSJim Jagielski 		{
310*b1cdbd2cSJim Jagielski 			if( 0 <= m_nRow && m_nRow < sal::static_int_cast<sal_Int32>(m_aItems.size()) )
311*b1cdbd2cSJim Jagielski 				return m_aItems[m_nRow]->getTimestamp( columnIndex );
312*b1cdbd2cSJim Jagielski 			else
313*b1cdbd2cSJim Jagielski 				return com::sun::star::util::DateTime();
314*b1cdbd2cSJim Jagielski 		}
315*b1cdbd2cSJim Jagielski 
316*b1cdbd2cSJim Jagielski 		virtual com::sun::star::uno::Reference< com::sun::star::io::XInputStream > SAL_CALL
getBinaryStream(sal_Int32 columnIndex)317*b1cdbd2cSJim Jagielski 		getBinaryStream(
318*b1cdbd2cSJim Jagielski 			sal_Int32 columnIndex )
319*b1cdbd2cSJim Jagielski 			throw( com::sun::star::sdbc::SQLException,
320*b1cdbd2cSJim Jagielski 				   com::sun::star::uno::RuntimeException)
321*b1cdbd2cSJim Jagielski 		{
322*b1cdbd2cSJim Jagielski 			if( 0 <= m_nRow && m_nRow < sal::static_int_cast<sal_Int32>(m_aItems.size()) )
323*b1cdbd2cSJim Jagielski 				return m_aItems[m_nRow]->getBinaryStream( columnIndex );
324*b1cdbd2cSJim Jagielski 			else
325*b1cdbd2cSJim Jagielski 				return com::sun::star::uno::Reference< com::sun::star::io::XInputStream >();
326*b1cdbd2cSJim Jagielski 		}
327*b1cdbd2cSJim Jagielski 
328*b1cdbd2cSJim Jagielski 		virtual com::sun::star::uno::Reference< com::sun::star::io::XInputStream > SAL_CALL
getCharacterStream(sal_Int32 columnIndex)329*b1cdbd2cSJim Jagielski 		getCharacterStream(
330*b1cdbd2cSJim Jagielski 			sal_Int32 columnIndex )
331*b1cdbd2cSJim Jagielski 			throw( com::sun::star::sdbc::SQLException,
332*b1cdbd2cSJim Jagielski 				   com::sun::star::uno::RuntimeException)
333*b1cdbd2cSJim Jagielski 		{
334*b1cdbd2cSJim Jagielski 			if( 0 <= m_nRow && m_nRow < sal::static_int_cast<sal_Int32>(m_aItems.size()) )
335*b1cdbd2cSJim Jagielski 				return m_aItems[m_nRow]->getCharacterStream( columnIndex );
336*b1cdbd2cSJim Jagielski 			else
337*b1cdbd2cSJim Jagielski 				return com::sun::star::uno::Reference< com::sun::star::io::XInputStream >();
338*b1cdbd2cSJim Jagielski 		}
339*b1cdbd2cSJim Jagielski 
340*b1cdbd2cSJim Jagielski 		virtual com::sun::star::uno::Any SAL_CALL
getObject(sal_Int32 columnIndex,const com::sun::star::uno::Reference<com::sun::star::container::XNameAccess> & typeMap)341*b1cdbd2cSJim Jagielski 		getObject(
342*b1cdbd2cSJim Jagielski 			sal_Int32 columnIndex,
343*b1cdbd2cSJim Jagielski 			const com::sun::star::uno::Reference< com::sun::star::container::XNameAccess >& typeMap )
344*b1cdbd2cSJim Jagielski 			throw( com::sun::star::sdbc::SQLException,
345*b1cdbd2cSJim Jagielski 				   com::sun::star::uno::RuntimeException)
346*b1cdbd2cSJim Jagielski 		{
347*b1cdbd2cSJim Jagielski 			if( 0 <= m_nRow && m_nRow < sal::static_int_cast<sal_Int32>(m_aItems.size()) )
348*b1cdbd2cSJim Jagielski 				return m_aItems[m_nRow]->getObject( columnIndex,typeMap );
349*b1cdbd2cSJim Jagielski 			else
350*b1cdbd2cSJim Jagielski 				return com::sun::star::uno::Any();
351*b1cdbd2cSJim Jagielski 		}
352*b1cdbd2cSJim Jagielski 
353*b1cdbd2cSJim Jagielski 		virtual com::sun::star::uno::Reference< com::sun::star::sdbc::XRef > SAL_CALL
getRef(sal_Int32 columnIndex)354*b1cdbd2cSJim Jagielski 		getRef(
355*b1cdbd2cSJim Jagielski 			sal_Int32 columnIndex )
356*b1cdbd2cSJim Jagielski 			throw( com::sun::star::sdbc::SQLException,
357*b1cdbd2cSJim Jagielski 				   com::sun::star::uno::RuntimeException)
358*b1cdbd2cSJim Jagielski 		{
359*b1cdbd2cSJim Jagielski 			if( 0 <= m_nRow && m_nRow < sal::static_int_cast<sal_Int32>(m_aItems.size()) )
360*b1cdbd2cSJim Jagielski 				return m_aItems[m_nRow]->getRef( columnIndex );
361*b1cdbd2cSJim Jagielski 			else
362*b1cdbd2cSJim Jagielski 				return com::sun::star::uno::Reference< com::sun::star::sdbc::XRef >();
363*b1cdbd2cSJim Jagielski 		}
364*b1cdbd2cSJim Jagielski 
365*b1cdbd2cSJim Jagielski 		virtual com::sun::star::uno::Reference< com::sun::star::sdbc::XBlob > SAL_CALL
getBlob(sal_Int32 columnIndex)366*b1cdbd2cSJim Jagielski 		getBlob(
367*b1cdbd2cSJim Jagielski 			sal_Int32 columnIndex )
368*b1cdbd2cSJim Jagielski 			throw( com::sun::star::sdbc::SQLException,
369*b1cdbd2cSJim Jagielski 				   com::sun::star::uno::RuntimeException)
370*b1cdbd2cSJim Jagielski 		{
371*b1cdbd2cSJim Jagielski 			if( 0 <= m_nRow && m_nRow < sal::static_int_cast<sal_Int32>(m_aItems.size()) )
372*b1cdbd2cSJim Jagielski 				return m_aItems[m_nRow]->getBlob( columnIndex );
373*b1cdbd2cSJim Jagielski 			else
374*b1cdbd2cSJim Jagielski 				return com::sun::star::uno::Reference< com::sun::star::sdbc::XBlob >();
375*b1cdbd2cSJim Jagielski 		}
376*b1cdbd2cSJim Jagielski 
377*b1cdbd2cSJim Jagielski 		virtual com::sun::star::uno::Reference< com::sun::star::sdbc::XClob > SAL_CALL
getClob(sal_Int32 columnIndex)378*b1cdbd2cSJim Jagielski 		getClob(
379*b1cdbd2cSJim Jagielski 			sal_Int32 columnIndex )
380*b1cdbd2cSJim Jagielski 			throw( com::sun::star::sdbc::SQLException,
381*b1cdbd2cSJim Jagielski 				   com::sun::star::uno::RuntimeException)
382*b1cdbd2cSJim Jagielski 		{
383*b1cdbd2cSJim Jagielski 			if( 0 <= m_nRow && m_nRow < sal::static_int_cast<sal_Int32>(m_aItems.size()) )
384*b1cdbd2cSJim Jagielski 				return m_aItems[m_nRow]->getClob( columnIndex );
385*b1cdbd2cSJim Jagielski 			else
386*b1cdbd2cSJim Jagielski 				return com::sun::star::uno::Reference< com::sun::star::sdbc::XClob >();
387*b1cdbd2cSJim Jagielski 		}
388*b1cdbd2cSJim Jagielski 
389*b1cdbd2cSJim Jagielski 		virtual com::sun::star::uno::Reference< com::sun::star::sdbc::XArray > SAL_CALL
getArray(sal_Int32 columnIndex)390*b1cdbd2cSJim Jagielski 		getArray(
391*b1cdbd2cSJim Jagielski 			sal_Int32 columnIndex )
392*b1cdbd2cSJim Jagielski 			throw( com::sun::star::sdbc::SQLException,
393*b1cdbd2cSJim Jagielski 				   com::sun::star::uno::RuntimeException)
394*b1cdbd2cSJim Jagielski 		{
395*b1cdbd2cSJim Jagielski 			if( 0 <= m_nRow && m_nRow < sal::static_int_cast<sal_Int32>(m_aItems.size()) )
396*b1cdbd2cSJim Jagielski 				return m_aItems[m_nRow]->getArray( columnIndex );
397*b1cdbd2cSJim Jagielski 			else
398*b1cdbd2cSJim Jagielski 				return com::sun::star::uno::Reference< com::sun::star::sdbc::XArray >();
399*b1cdbd2cSJim Jagielski 		}
400*b1cdbd2cSJim Jagielski 
401*b1cdbd2cSJim Jagielski 
402*b1cdbd2cSJim Jagielski 		// XResultSet
403*b1cdbd2cSJim Jagielski 
404*b1cdbd2cSJim Jagielski 		virtual sal_Bool SAL_CALL
405*b1cdbd2cSJim Jagielski 		next(
406*b1cdbd2cSJim Jagielski 			void )
407*b1cdbd2cSJim Jagielski 			throw( com::sun::star::sdbc::SQLException,
408*b1cdbd2cSJim Jagielski 				   com::sun::star::uno::RuntimeException);
409*b1cdbd2cSJim Jagielski 
410*b1cdbd2cSJim Jagielski 		virtual sal_Bool SAL_CALL
411*b1cdbd2cSJim Jagielski 		isBeforeFirst(
412*b1cdbd2cSJim Jagielski 			void )
413*b1cdbd2cSJim Jagielski 			throw( com::sun::star::sdbc::SQLException,
414*b1cdbd2cSJim Jagielski 				   com::sun::star::uno::RuntimeException);
415*b1cdbd2cSJim Jagielski 
416*b1cdbd2cSJim Jagielski 		virtual sal_Bool SAL_CALL
417*b1cdbd2cSJim Jagielski 		isAfterLast(
418*b1cdbd2cSJim Jagielski 			void )
419*b1cdbd2cSJim Jagielski 			throw( com::sun::star::sdbc::SQLException,
420*b1cdbd2cSJim Jagielski 				   com::sun::star::uno::RuntimeException);
421*b1cdbd2cSJim Jagielski 
422*b1cdbd2cSJim Jagielski 		virtual sal_Bool SAL_CALL
423*b1cdbd2cSJim Jagielski 		isFirst(
424*b1cdbd2cSJim Jagielski 			void  )
425*b1cdbd2cSJim Jagielski 			throw( com::sun::star::sdbc::SQLException,
426*b1cdbd2cSJim Jagielski 				   com::sun::star::uno::RuntimeException);
427*b1cdbd2cSJim Jagielski 
428*b1cdbd2cSJim Jagielski 		virtual sal_Bool SAL_CALL
429*b1cdbd2cSJim Jagielski 		isLast(
430*b1cdbd2cSJim Jagielski 			void  )
431*b1cdbd2cSJim Jagielski 			throw( com::sun::star::sdbc::SQLException,
432*b1cdbd2cSJim Jagielski 				   com::sun::star::uno::RuntimeException);
433*b1cdbd2cSJim Jagielski 
434*b1cdbd2cSJim Jagielski 		virtual void SAL_CALL
435*b1cdbd2cSJim Jagielski 		beforeFirst(
436*b1cdbd2cSJim Jagielski 			void  )
437*b1cdbd2cSJim Jagielski 			throw( com::sun::star::sdbc::SQLException,
438*b1cdbd2cSJim Jagielski 				   com::sun::star::uno::RuntimeException);
439*b1cdbd2cSJim Jagielski 
440*b1cdbd2cSJim Jagielski 		virtual void SAL_CALL
441*b1cdbd2cSJim Jagielski 		afterLast(
442*b1cdbd2cSJim Jagielski 			void  )
443*b1cdbd2cSJim Jagielski 			throw( com::sun::star::sdbc::SQLException,
444*b1cdbd2cSJim Jagielski 				   com::sun::star::uno::RuntimeException);
445*b1cdbd2cSJim Jagielski 
446*b1cdbd2cSJim Jagielski 		virtual sal_Bool SAL_CALL
447*b1cdbd2cSJim Jagielski 		first(
448*b1cdbd2cSJim Jagielski 			void  )
449*b1cdbd2cSJim Jagielski 			throw( com::sun::star::sdbc::SQLException,
450*b1cdbd2cSJim Jagielski 				   com::sun::star::uno::RuntimeException);
451*b1cdbd2cSJim Jagielski 
452*b1cdbd2cSJim Jagielski 		virtual sal_Bool SAL_CALL
453*b1cdbd2cSJim Jagielski 		last(
454*b1cdbd2cSJim Jagielski 			void  )
455*b1cdbd2cSJim Jagielski 			throw( com::sun::star::sdbc::SQLException,
456*b1cdbd2cSJim Jagielski 				   com::sun::star::uno::RuntimeException);
457*b1cdbd2cSJim Jagielski 
458*b1cdbd2cSJim Jagielski 		virtual sal_Int32 SAL_CALL
459*b1cdbd2cSJim Jagielski 		getRow(
460*b1cdbd2cSJim Jagielski 			void  )
461*b1cdbd2cSJim Jagielski 			throw( com::sun::star::sdbc::SQLException,
462*b1cdbd2cSJim Jagielski 				   com::sun::star::uno::RuntimeException);
463*b1cdbd2cSJim Jagielski 
464*b1cdbd2cSJim Jagielski 		virtual sal_Bool SAL_CALL
465*b1cdbd2cSJim Jagielski 		absolute(
466*b1cdbd2cSJim Jagielski 			sal_Int32 row )
467*b1cdbd2cSJim Jagielski 			throw( com::sun::star::sdbc::SQLException,
468*b1cdbd2cSJim Jagielski 				   com::sun::star::uno::RuntimeException);
469*b1cdbd2cSJim Jagielski 
470*b1cdbd2cSJim Jagielski 		virtual sal_Bool SAL_CALL
471*b1cdbd2cSJim Jagielski 		relative(
472*b1cdbd2cSJim Jagielski 			sal_Int32 rows )
473*b1cdbd2cSJim Jagielski 			throw( com::sun::star::sdbc::SQLException,
474*b1cdbd2cSJim Jagielski 				   com::sun::star::uno::RuntimeException);
475*b1cdbd2cSJim Jagielski 
476*b1cdbd2cSJim Jagielski 		virtual sal_Bool SAL_CALL
477*b1cdbd2cSJim Jagielski 		previous(
478*b1cdbd2cSJim Jagielski 			void  )
479*b1cdbd2cSJim Jagielski 			throw( com::sun::star::sdbc::SQLException,
480*b1cdbd2cSJim Jagielski 				   com::sun::star::uno::RuntimeException);
481*b1cdbd2cSJim Jagielski 
482*b1cdbd2cSJim Jagielski 		virtual void SAL_CALL
483*b1cdbd2cSJim Jagielski 		refreshRow(
484*b1cdbd2cSJim Jagielski 			void  )
485*b1cdbd2cSJim Jagielski 			throw( com::sun::star::sdbc::SQLException,
486*b1cdbd2cSJim Jagielski 				   com::sun::star::uno::RuntimeException);
487*b1cdbd2cSJim Jagielski 
488*b1cdbd2cSJim Jagielski 		virtual sal_Bool SAL_CALL
489*b1cdbd2cSJim Jagielski 		rowUpdated(
490*b1cdbd2cSJim Jagielski 			void )
491*b1cdbd2cSJim Jagielski 			throw( com::sun::star::sdbc::SQLException,
492*b1cdbd2cSJim Jagielski 				   com::sun::star::uno::RuntimeException);
493*b1cdbd2cSJim Jagielski 
494*b1cdbd2cSJim Jagielski 		virtual sal_Bool SAL_CALL
495*b1cdbd2cSJim Jagielski 		rowInserted(
496*b1cdbd2cSJim Jagielski 			void  )
497*b1cdbd2cSJim Jagielski 			throw( com::sun::star::sdbc::SQLException,
498*b1cdbd2cSJim Jagielski 				   com::sun::star::uno::RuntimeException);
499*b1cdbd2cSJim Jagielski 
500*b1cdbd2cSJim Jagielski 		virtual sal_Bool SAL_CALL
501*b1cdbd2cSJim Jagielski 		rowDeleted(
502*b1cdbd2cSJim Jagielski 			void  )
503*b1cdbd2cSJim Jagielski 			throw( com::sun::star::sdbc::SQLException,
504*b1cdbd2cSJim Jagielski 				   com::sun::star::uno::RuntimeException);
505*b1cdbd2cSJim Jagielski 
506*b1cdbd2cSJim Jagielski 
507*b1cdbd2cSJim Jagielski 		virtual  com::sun::star::uno::Reference<  com::sun::star::uno::XInterface > SAL_CALL
508*b1cdbd2cSJim Jagielski 		getStatement(
509*b1cdbd2cSJim Jagielski 			void  )
510*b1cdbd2cSJim Jagielski 			throw( com::sun::star::sdbc::SQLException,
511*b1cdbd2cSJim Jagielski 				   com::sun::star::uno::RuntimeException);
512*b1cdbd2cSJim Jagielski 
513*b1cdbd2cSJim Jagielski 
514*b1cdbd2cSJim Jagielski 		// XDynamicResultSet
515*b1cdbd2cSJim Jagielski 
516*b1cdbd2cSJim Jagielski 		virtual com::sun::star::uno::Reference< com::sun::star::sdbc::XResultSet > SAL_CALL
517*b1cdbd2cSJim Jagielski 		getStaticResultSet(
518*b1cdbd2cSJim Jagielski 			void )
519*b1cdbd2cSJim Jagielski 			throw( com::sun::star::ucb::ListenerAlreadySetException,
520*b1cdbd2cSJim Jagielski 				   com::sun::star::uno::RuntimeException );
521*b1cdbd2cSJim Jagielski 
522*b1cdbd2cSJim Jagielski 		virtual void SAL_CALL
523*b1cdbd2cSJim Jagielski 		setListener(
524*b1cdbd2cSJim Jagielski 			const com::sun::star::uno::Reference<
525*b1cdbd2cSJim Jagielski 			com::sun::star::ucb::XDynamicResultSetListener >& Listener )
526*b1cdbd2cSJim Jagielski 			throw( com::sun::star::ucb::ListenerAlreadySetException,
527*b1cdbd2cSJim Jagielski 				   com::sun::star::uno::RuntimeException );
528*b1cdbd2cSJim Jagielski 
529*b1cdbd2cSJim Jagielski 		virtual void SAL_CALL
530*b1cdbd2cSJim Jagielski 		connectToCache( const com::sun::star::uno::Reference< com::sun::star::ucb::XDynamicResultSet > & xCache )
531*b1cdbd2cSJim Jagielski 			throw( com::sun::star::ucb::ListenerAlreadySetException,
532*b1cdbd2cSJim Jagielski 				   com::sun::star::ucb::AlreadyInitializedException,
533*b1cdbd2cSJim Jagielski 				   com::sun::star::ucb::ServiceNotFoundException,
534*b1cdbd2cSJim Jagielski 				   com::sun::star::uno::RuntimeException );
535*b1cdbd2cSJim Jagielski 
536*b1cdbd2cSJim Jagielski 		virtual sal_Int16 SAL_CALL
537*b1cdbd2cSJim Jagielski 		getCapabilities()
538*b1cdbd2cSJim Jagielski 			throw( com::sun::star::uno::RuntimeException );
539*b1cdbd2cSJim Jagielski 
540*b1cdbd2cSJim Jagielski 
541*b1cdbd2cSJim Jagielski 		// XCloseable
542*b1cdbd2cSJim Jagielski 
543*b1cdbd2cSJim Jagielski 		virtual void SAL_CALL
544*b1cdbd2cSJim Jagielski 		close(
545*b1cdbd2cSJim Jagielski 			void )
546*b1cdbd2cSJim Jagielski 			throw( com::sun::star::sdbc::SQLException,
547*b1cdbd2cSJim Jagielski 				   com::sun::star::uno::RuntimeException);
548*b1cdbd2cSJim Jagielski 
549*b1cdbd2cSJim Jagielski 		// XContentAccess
550*b1cdbd2cSJim Jagielski 
551*b1cdbd2cSJim Jagielski 		virtual rtl::OUString SAL_CALL
552*b1cdbd2cSJim Jagielski 		queryContentIdentifierString(
553*b1cdbd2cSJim Jagielski 			void )
554*b1cdbd2cSJim Jagielski 			throw( com::sun::star::uno::RuntimeException );
555*b1cdbd2cSJim Jagielski 
556*b1cdbd2cSJim Jagielski 		virtual com::sun::star::uno::Reference< com::sun::star::ucb::XContentIdentifier > SAL_CALL
557*b1cdbd2cSJim Jagielski 		queryContentIdentifier(
558*b1cdbd2cSJim Jagielski 			void )
559*b1cdbd2cSJim Jagielski 			throw( com::sun::star::uno::RuntimeException );
560*b1cdbd2cSJim Jagielski 
561*b1cdbd2cSJim Jagielski 		virtual com::sun::star::uno::Reference< com::sun::star::ucb::XContent > SAL_CALL
562*b1cdbd2cSJim Jagielski 		queryContent(
563*b1cdbd2cSJim Jagielski 			void )
564*b1cdbd2cSJim Jagielski 			throw( com::sun::star::uno::RuntimeException );
565*b1cdbd2cSJim Jagielski 
566*b1cdbd2cSJim Jagielski 		// XResultSetMetaDataSupplier
567*b1cdbd2cSJim Jagielski 		virtual com::sun::star::uno::Reference< com::sun::star::sdbc::XResultSetMetaData > SAL_CALL
568*b1cdbd2cSJim Jagielski 		getMetaData(
569*b1cdbd2cSJim Jagielski 			void )
570*b1cdbd2cSJim Jagielski 			throw( com::sun::star::sdbc::SQLException,
571*b1cdbd2cSJim Jagielski 				   com::sun::star::uno::RuntimeException);
572*b1cdbd2cSJim Jagielski 
573*b1cdbd2cSJim Jagielski 
574*b1cdbd2cSJim Jagielski 		// XPropertySet
575*b1cdbd2cSJim Jagielski 		virtual com::sun::star::uno::Reference< com::sun::star::beans::XPropertySetInfo > SAL_CALL
576*b1cdbd2cSJim Jagielski 		getPropertySetInfo()
577*b1cdbd2cSJim Jagielski 			throw( com::sun::star::uno::RuntimeException);
578*b1cdbd2cSJim Jagielski 
579*b1cdbd2cSJim Jagielski 		virtual void SAL_CALL setPropertyValue(
580*b1cdbd2cSJim Jagielski 			const rtl::OUString& aPropertyName,
581*b1cdbd2cSJim Jagielski 			const com::sun::star::uno::Any& aValue )
582*b1cdbd2cSJim Jagielski 			throw( com::sun::star::beans::UnknownPropertyException,
583*b1cdbd2cSJim Jagielski 				   com::sun::star::beans::PropertyVetoException,
584*b1cdbd2cSJim Jagielski 				   com::sun::star::lang::IllegalArgumentException,
585*b1cdbd2cSJim Jagielski 				   com::sun::star::lang::WrappedTargetException,
586*b1cdbd2cSJim Jagielski 				   com::sun::star::uno::RuntimeException);
587*b1cdbd2cSJim Jagielski 
588*b1cdbd2cSJim Jagielski 		virtual com::sun::star::uno::Any SAL_CALL
589*b1cdbd2cSJim Jagielski 		getPropertyValue(
590*b1cdbd2cSJim Jagielski 			const rtl::OUString& PropertyName )
591*b1cdbd2cSJim Jagielski 			throw( com::sun::star::beans::UnknownPropertyException,
592*b1cdbd2cSJim Jagielski 				   com::sun::star::lang::WrappedTargetException,
593*b1cdbd2cSJim Jagielski 				   com::sun::star::uno::RuntimeException);
594*b1cdbd2cSJim Jagielski 
595*b1cdbd2cSJim Jagielski 		virtual void SAL_CALL
596*b1cdbd2cSJim Jagielski 		addPropertyChangeListener(
597*b1cdbd2cSJim Jagielski 			const rtl::OUString& aPropertyName,
598*b1cdbd2cSJim Jagielski 			const com::sun::star::uno::Reference< com::sun::star::beans::XPropertyChangeListener >& xListener )
599*b1cdbd2cSJim Jagielski 			throw( com::sun::star::beans::UnknownPropertyException,
600*b1cdbd2cSJim Jagielski 				   com::sun::star::lang::WrappedTargetException,
601*b1cdbd2cSJim Jagielski 				   com::sun::star::uno::RuntimeException);
602*b1cdbd2cSJim Jagielski 
603*b1cdbd2cSJim Jagielski 		virtual void SAL_CALL
604*b1cdbd2cSJim Jagielski 		removePropertyChangeListener(
605*b1cdbd2cSJim Jagielski 			const rtl::OUString& aPropertyName,
606*b1cdbd2cSJim Jagielski 			const com::sun::star::uno::Reference< com::sun::star::beans::XPropertyChangeListener >& aListener )
607*b1cdbd2cSJim Jagielski 			throw( com::sun::star::beans::UnknownPropertyException,
608*b1cdbd2cSJim Jagielski 				   com::sun::star::lang::WrappedTargetException,
609*b1cdbd2cSJim Jagielski 				   com::sun::star::uno::RuntimeException);
610*b1cdbd2cSJim Jagielski 
611*b1cdbd2cSJim Jagielski 		virtual void SAL_CALL
612*b1cdbd2cSJim Jagielski 		addVetoableChangeListener(
613*b1cdbd2cSJim Jagielski 			const rtl::OUString& PropertyName,
614*b1cdbd2cSJim Jagielski 			const com::sun::star::uno::Reference< com::sun::star::beans::XVetoableChangeListener >& aListener )
615*b1cdbd2cSJim Jagielski 			throw( com::sun::star::beans::UnknownPropertyException,
616*b1cdbd2cSJim Jagielski 				   com::sun::star::lang::WrappedTargetException,
617*b1cdbd2cSJim Jagielski 				   com::sun::star::uno::RuntimeException);
618*b1cdbd2cSJim Jagielski 
619*b1cdbd2cSJim Jagielski 		virtual void SAL_CALL removeVetoableChangeListener(
620*b1cdbd2cSJim Jagielski 			const rtl::OUString& PropertyName,
621*b1cdbd2cSJim Jagielski 			const com::sun::star::uno::Reference< com::sun::star::beans::XVetoableChangeListener >& aListener )
622*b1cdbd2cSJim Jagielski 			throw( com::sun::star::beans::UnknownPropertyException,
623*b1cdbd2cSJim Jagielski 				   com::sun::star::lang::WrappedTargetException,
624*b1cdbd2cSJim Jagielski 				   com::sun::star::uno::RuntimeException);
625*b1cdbd2cSJim Jagielski 
626*b1cdbd2cSJim Jagielski 	private:
627*b1cdbd2cSJim Jagielski 
628*b1cdbd2cSJim Jagielski 		// Members
629*b1cdbd2cSJim Jagielski 		//  const uno::Reference< lang::XMultiServiceFactory > m_xMSF;
630*b1cdbd2cSJim Jagielski 		//  const uno::Reference< ucb::XContentProvider > m_xProvider;
631*b1cdbd2cSJim Jagielski 
632*b1cdbd2cSJim Jagielski 		shell*                              m_pMyShell;
633*b1cdbd2cSJim Jagielski 		com::sun::star::uno::Reference< com::sun::star::ucb::XContentProvider >  m_xProvider;
634*b1cdbd2cSJim Jagielski 		sal_Bool                            m_nIsOpen;
635*b1cdbd2cSJim Jagielski 		sal_Int32                           m_nRow;
636*b1cdbd2cSJim Jagielski 		sal_Bool                            m_nWasNull;
637*b1cdbd2cSJim Jagielski 		sal_Int32                           m_nOpenMode;
638*b1cdbd2cSJim Jagielski 		sal_Bool                            m_bRowCountFinal;
639*b1cdbd2cSJim Jagielski 
640*b1cdbd2cSJim Jagielski 		typedef std::vector< com::sun::star::uno::Reference< com::sun::star::ucb::XContentIdentifier > > IdentSet;
641*b1cdbd2cSJim Jagielski 		typedef std::vector< com::sun::star::uno::Reference< com::sun::star::sdbc::XRow > >         ItemSet;
642*b1cdbd2cSJim Jagielski 		typedef std::vector< rtl::OUString >                        UnqPathSet;
643*b1cdbd2cSJim Jagielski 
644*b1cdbd2cSJim Jagielski 		IdentSet                            m_aIdents;
645*b1cdbd2cSJim Jagielski 		ItemSet                             m_aItems;
646*b1cdbd2cSJim Jagielski 		UnqPathSet                          m_aUnqPath;
647*b1cdbd2cSJim Jagielski 		const rtl::OUString                 m_aBaseDirectory;
648*b1cdbd2cSJim Jagielski 
649*b1cdbd2cSJim Jagielski 		osl::Directory                        m_aFolder;
650*b1cdbd2cSJim Jagielski 		com::sun::star::uno::Sequence< com::sun::star::beans::Property >      m_sProperty;
651*b1cdbd2cSJim Jagielski 		com::sun::star::uno::Sequence< com::sun::star::ucb::NumberedSortingInfo >  m_sSortingInfo;
652*b1cdbd2cSJim Jagielski 
653*b1cdbd2cSJim Jagielski 		osl::Mutex                          m_aMutex;
654*b1cdbd2cSJim Jagielski 		osl::Mutex                          m_aEventListenerMutex;
655*b1cdbd2cSJim Jagielski 		cppu::OInterfaceContainerHelper*    m_pDisposeEventListeners;
656*b1cdbd2cSJim Jagielski 
657*b1cdbd2cSJim Jagielski 		cppu::OInterfaceContainerHelper*    m_pRowCountListeners;
658*b1cdbd2cSJim Jagielski 		cppu::OInterfaceContainerHelper*    m_pIsFinalListeners;
659*b1cdbd2cSJim Jagielski 
660*b1cdbd2cSJim Jagielski 		com::sun::star::uno::Reference< com::sun::star::ucb::XDynamicResultSetListener >       m_xListener;
661*b1cdbd2cSJim Jagielski         sal_Bool                            m_bStatic;
662*b1cdbd2cSJim Jagielski 
663*b1cdbd2cSJim Jagielski 		sal_Int32                                          m_nErrorCode;
664*b1cdbd2cSJim Jagielski 		sal_Int32                                          m_nMinorErrorCode;
665*b1cdbd2cSJim Jagielski 
666*b1cdbd2cSJim Jagielski 		// Methods
667*b1cdbd2cSJim Jagielski 		sal_Bool SAL_CALL OneMore( void )
668*b1cdbd2cSJim Jagielski 			throw( com::sun::star::sdbc::SQLException,
669*b1cdbd2cSJim Jagielski 				   com::sun::star::uno::RuntimeException );
670*b1cdbd2cSJim Jagielski 
671*b1cdbd2cSJim Jagielski 		void rowCountChanged();
672*b1cdbd2cSJim Jagielski 		void isFinalChanged();
673*b1cdbd2cSJim Jagielski 	};
674*b1cdbd2cSJim Jagielski 
675*b1cdbd2cSJim Jagielski 
676*b1cdbd2cSJim Jagielski } // end namespace fileaccess
677*b1cdbd2cSJim Jagielski 
678*b1cdbd2cSJim Jagielski 
679*b1cdbd2cSJim Jagielski #endif
680