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