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