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