1 /************************************************************** 2 * 3 * Licensed to the Apache Software Foundation (ASF) under one 4 * or more contributor license agreements. See the NOTICE file 5 * distributed with this work for additional information 6 * regarding copyright ownership. The ASF licenses this file 7 * to you under the Apache License, Version 2.0 (the 8 * "License"); you may not use this file except in compliance 9 * with the License. You may obtain a copy of the License at 10 * 11 * http://www.apache.org/licenses/LICENSE-2.0 12 * 13 * Unless required by applicable law or agreed to in writing, 14 * software distributed under the License is distributed on an 15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 * KIND, either express or implied. See the License for the 17 * specific language governing permissions and limitations 18 * under the License. 19 * 20 *************************************************************/ 21 22 23 24 #ifndef _SFX_SFXBASEMODEL_HXX_ 25 #define _SFX_SFXBASEMODEL_HXX_ 26 27 #include "sal/config.h" 28 #include "sfx2/dllapi.h" 29 #include "sal/types.h" 30 #include <com/sun/star/lang/XTypeProvider.hpp> 31 #include <com/sun/star/frame/XModule.hpp> 32 #include <com/sun/star/frame/XTitle.hpp> 33 #include <com/sun/star/frame/XTitleChangeBroadcaster.hpp> 34 #include <com/sun/star/frame/XUntitledNumbers.hpp> 35 #include <com/sun/star/container/XChild.hpp> 36 #include <com/sun/star/container/XNameContainer.hpp> 37 #include <com/sun/star/container/XNameReplace.hpp> 38 #include <com/sun/star/frame/XController2.hpp> 39 #include <com/sun/star/document/XDocumentInfo.hpp> 40 #include <com/sun/star/document/XDocumentInfoSupplier.hpp> 41 #include <com/sun/star/document/XDocumentPropertiesSupplier.hpp> 42 #include <com/sun/star/document/XDocumentRecovery.hpp> 43 #include <com/sun/star/document/XUndoManagerSupplier.hpp> 44 45 #include <com/sun/star/rdf/XDocumentMetadataAccess.hpp> 46 47 #include <com/sun/star/document/XEventBroadcaster.hpp> 48 #include <com/sun/star/document/XDocumentEventBroadcaster.hpp> 49 #include <com/sun/star/document/XEventListener.hpp> 50 #include <com/sun/star/document/XEventsSupplier.hpp> 51 #include <com/sun/star/document/XEmbeddedScripts.hpp> 52 #include <com/sun/star/document/EventObject.hpp> 53 #include <com/sun/star/document/XDocumentSubStorageSupplier.hpp> 54 #include <com/sun/star/document/XStorageBasedDocument.hpp> 55 #include <com/sun/star/document/XScriptInvocationContext.hpp> 56 #include <com/sun/star/lang/XEventListener.hpp> 57 #include <com/sun/star/lang/NotInitializedException.hpp> 58 #include <com/sun/star/lang/DisposedException.hpp> 59 #include <com/sun/star/frame/XModel2.hpp> 60 #include <com/sun/star/frame/DoubleInitializationException.hpp> 61 #include <com/sun/star/util/XModifiable2.hpp> 62 #include <com/sun/star/util/XModifyListener.hpp> 63 #include <com/sun/star/util/XCloseable.hpp> 64 #include <com/sun/star/util/XCloseBroadcaster.hpp> 65 #include <com/sun/star/util/XCloseListener.hpp> 66 #include <com/sun/star/util/CloseVetoException.hpp> 67 #include <com/sun/star/view/XPrintable.hpp> 68 #include <com/sun/star/view/XPrintJobBroadcaster.hpp> 69 #include <com/sun/star/frame/XStorable.hpp> 70 #include <com/sun/star/frame/XStorable2.hpp> 71 #include <com/sun/star/frame/XLoadable.hpp> 72 #include <com/sun/star/beans/PropertyValue.hpp> 73 #include <com/sun/star/lang/EventObject.hpp> 74 #include <com/sun/star/datatransfer/XTransferable.hpp> 75 #include <com/sun/star/script/provider/XScriptProviderSupplier.hpp> 76 #include <com/sun/star/ui/XUIConfigurationManagerSupplier.hpp> 77 #include <com/sun/star/embed/XVisualObject.hpp> 78 #include <com/sun/star/uno/Sequence.hxx> 79 #include <com/sun/star/uno/Reference.hxx> 80 #include <com/sun/star/uno/Any.hxx> 81 #include <cppuhelper/weak.hxx> 82 #include <cppuhelper/basemutex.hxx> 83 #include <cppuhelper/typeprovider.hxx> 84 #include <com/sun/star/script/XStarBasicAccess.hpp> 85 #include <osl/mutex.hxx> 86 #include <vos/mutex.hxx> 87 #include <vcl/svapp.hxx> 88 89 #include <tools/link.hxx> 90 91 #include <com/sun/star/document/XViewDataSupplier.hpp> 92 #include <com/sun/star/lang/XUnoTunnel.hpp> 93 94 #include <com/sun/star/task/XInteractionHandler.hpp> 95 96 //________________________________________________________________________________________________________ 97 #if ! defined(INCLUDED_COMPHELPER_IMPLBASE_VAR_HXX_32) 98 #define INCLUDED_COMPHELPER_IMPLBASE_VAR_HXX_32 99 #define COMPHELPER_IMPLBASE_INTERFACE_NUMBER 32 100 #include <comphelper/implbase_var.hxx> 101 #endif 102 103 // include of my own project 104 //________________________________________________________________________________________________________ 105 #include <svl/lstner.hxx> 106 107 //________________________________________________________________________________________________________ 108 // defines 109 //________________________________________________________________________________________________________ 110 111 // Some defines to write better code :-) 112 #define XCHILD ::com::sun::star::container::XChild 113 #define XNAMECONTAINER ::com::sun::star::container::XNameContainer 114 #define XCONTROLLER ::com::sun::star::frame::XController 115 #define XEVENTLISTENER ::com::sun::star::lang::XEventListener 116 #define XINTERFACE ::com::sun::star::uno::XInterface 117 #define XCOMPONENT ::com::sun::star::lang::XComponent 118 #define XMODEL ::com::sun::star::frame::XModel 119 #define XMODEL2 ::com::sun::star::frame::XModel2 120 #define XMODIFIABLE ::com::sun::star::util::XModifiable 121 #define XMODIFIABLE2 ::com::sun::star::util::XModifiable2 122 #define XMODIFYBROADCASTER ::com::sun::star::util::XModifyBroadcaster 123 #define XMODIFYLISTENER ::com::sun::star::util::XModifyListener 124 #define XCLOSEABLE ::com::sun::star::util::XCloseable 125 #define XCLOSEBROADCASTER ::com::sun::star::util::XCloseBroadcaster 126 #define XCLOSELISTENER ::com::sun::star::util::XCloseListener 127 #define XPRINTABLE ::com::sun::star::view::XPrintable 128 #define XPRINTJOBBROADCASTER ::com::sun::star::view::XPrintJobBroadcaster 129 #define XSTORABLE ::com::sun::star::frame::XStorable 130 #define XSTORABLE2 ::com::sun::star::frame::XStorable2 131 #define XLOADABLE ::com::sun::star::frame::XLoadable 132 #define XTYPEPROVIDER ::com::sun::star::lang::XTypeProvider 133 #define XSTARBASICACCESS ::com::sun::star::script::XStarBasicAccess 134 #define NOSUCHELEMENTEXCEPTION ::com::sun::star::container::NoSuchElementException 135 #define ELEMENTEXISTEXCEPTION ::com::sun::star::container::ElementExistException 136 #define XNAMEREPLACE ::com::sun::star::container::XNameReplace 137 #define XINDEXCONTAINER ::com::sun::star::container::XIndexContainer 138 #define DISPOSEDEXCEPTION ::com::sun::star::lang::DisposedException 139 #define DOCEVENTOBJECT ::com::sun::star::document::EventObject 140 #define XDOCEVENTLISTENER ::com::sun::star::document::XEventListener 141 #define XDOCUMENTINFO ::com::sun::star::document::XDocumentInfo 142 #define XDOCUMENTINFOSUPPLIER ::com::sun::star::document::XDocumentInfoSupplier 143 #define XEVENTBROADCASTER ::com::sun::star::document::XEventBroadcaster 144 #define XDOCUMENTEVENTBROADCASTER ::com::sun::star::document::XDocumentEventBroadcaster 145 #define XEVENTSSUPPLIER ::com::sun::star::document::XEventsSupplier 146 #define XEMBEDDEDSCRIPTS ::com::sun::star::document::XEmbeddedScripts 147 #define XSCRIPTINVOCATIONCONTEXT ::com::sun::star::document::XScriptInvocationContext 148 149 #define NOSUPPORTEXCEPTION ::com::sun::star::lang::NoSupportException 150 #define RUNTIMEEXCEPTION ::com::sun::star::uno::RuntimeException 151 #define CLOSEVETOEXCEPTION ::com::sun::star::util::CloseVetoException 152 #define DOUBLEINITIALIZATIONEXCEPTION ::com::sun::star::frame::DoubleInitializationException 153 #define ILLEGALARGUMENTEXCEPTION ::com::sun::star::lang::IllegalArgumentException 154 #define IOEXCEPTION ::com::sun::star::io::IOException 155 #define EXCEPTION ::com::sun::star::uno::Exception 156 157 #define ANY ::com::sun::star::uno::Any 158 #define EVENTOBJECT ::com::sun::star::lang::EventObject 159 #define PROPERTYVALUE ::com::sun::star::beans::PropertyValue 160 #define REFERENCE ::com::sun::star::uno::Reference 161 #define MUTEX ::osl::Mutex 162 #define OUSTRING ::rtl::OUString 163 #define UNOTYPE ::com::sun::star::uno::Type 164 #define XVIEWDATASUPPLIER ::com::sun::star::document::XViewDataSupplier 165 #define XINDEXACCESS ::com::sun::star::container::XIndexAccess 166 #define XTRANSFERABLE ::com::sun::star::datatransfer::XTransferable 167 #define DATAFLAVOR ::com::sun::star::datatransfer::DataFlavor 168 169 #define XUNOTUNNEL ::com::sun::star::lang::XUnoTunnel 170 171 #define XDOCUMENTSUBSTORAGESUPPLIER ::com::sun::star::document::XDocumentSubStorageSupplier 172 #define XSTORAGEBASEDDOCUMENT ::com::sun::star::document::XStorageBasedDocument 173 #define XSTORAGE ::com::sun::star::embed::XStorage 174 #define XVISUALOBJECT ::com::sun::star::embed::XVisualObject 175 176 #define XSCRIPTPROVIDERSUPPLIER ::com::sun::star::script::provider::XScriptProviderSupplier 177 #define XSCRIPTPROVIDER ::com::sun::star::script::provider::XScriptProvider 178 179 #define XUICONFIGURATIONMANAGERSUPPLIER ::com::sun::star::ui::XUIConfigurationManagerSupplier 180 #define XUICONFIGURATIONMANAGER ::com::sun::star::ui::XUIConfigurationManager 181 #define XMODULE ::com::sun::star::frame::XModule 182 #define XTITLE ::com::sun::star::frame::XTitle 183 #define XTITLECHANGEBROADCASTER ::com::sun::star::frame::XTitleChangeBroadcaster 184 #define XUNTITLEDNUMBERS ::com::sun::star::frame::XUntitledNumbers 185 186 //________________________________________________________________________________________________________ 187 // namespace 188 //________________________________________________________________________________________________________ 189 #ifdef css 190 #error "class is using css as namespace define .-)" 191 #else 192 #define css ::com::sun::star 193 #endif 194 195 //________________________________________________________________________________________________________ 196 // forwards 197 //________________________________________________________________________________________________________ 198 class SfxPrinter; 199 class SfxViewShell; 200 class SfxObjectShell ; 201 class SfxEventHint; 202 class SfxViewFrame; 203 struct IMPL_SfxBaseModel_DataContainer ; // impl. struct to hold member of class SfxBaseModel 204 205 namespace sfx { namespace intern { 206 class ViewCreationGuard; 207 } } 208 //________________________________________________________________________________________________________ 209 // class declarations 210 //________________________________________________________________________________________________________ 211 212 /**_______________________________________________________________________________________________________ 213 @short - 214 215 @descr - 216 217 @implements XChild 218 XComponent 219 XDocumentInfoSupplier 220 document::XDocumentPropertiesSupplier 221 rdf::XDocumentMetadataAccess 222 XEventListener 223 XModel 224 XModifiable2 225 XPrintable 226 XStorable2 227 document::XEventBroadcaster 228 document::XEventsSupplier 229 document::XEmbeddedScripts 230 document::XScriptInvocationContext 231 XCloseable 232 XCloseBroadcaster 233 234 @base cppu::BaseMutex 235 SfxListener 236 */ 237 238 typedef ::comphelper::WeakImplHelper32 < XCHILD 239 , XDOCUMENTINFOSUPPLIER 240 , ::com::sun::star::document::XDocumentPropertiesSupplier 241 , ::com::sun::star::rdf::XDocumentMetadataAccess 242 , ::com::sun::star::document::XDocumentRecovery 243 , ::com::sun::star::document::XUndoManagerSupplier 244 , XEVENTBROADCASTER 245 , XDOCUMENTEVENTBROADCASTER 246 , XEVENTLISTENER 247 , XEVENTSSUPPLIER 248 , XEMBEDDEDSCRIPTS 249 , XSCRIPTINVOCATIONCONTEXT 250 , XMODEL2 251 , XMODIFIABLE2 252 , XPRINTABLE 253 , XPRINTJOBBROADCASTER 254 , XSTORABLE2 255 , XLOADABLE 256 , XSTARBASICACCESS 257 , XVIEWDATASUPPLIER 258 , XCLOSEABLE // => XCLOSEBROADCASTER 259 , XTRANSFERABLE 260 , XDOCUMENTSUBSTORAGESUPPLIER 261 , XSTORAGEBASEDDOCUMENT 262 , XSCRIPTPROVIDERSUPPLIER 263 , XUICONFIGURATIONMANAGERSUPPLIER 264 , XVISUALOBJECT 265 , XUNOTUNNEL 266 , XMODULE 267 , XTITLE 268 , XTITLECHANGEBROADCASTER 269 , XUNTITLEDNUMBERS 270 > SfxBaseModel_Base; 271 272 class SFX2_DLLPUBLIC SfxBaseModel : protected ::cppu::BaseMutex 273 , public SfxBaseModel_Base 274 , public SfxListener 275 { 276 277 //________________________________________________________________________________________________________ 278 // public methods 279 //________________________________________________________________________________________________________ 280 281 public: 282 283 //____________________________________________________________________________________________________ 284 // constructor/destructor 285 //____________________________________________________________________________________________________ 286 287 /**___________________________________________________________________________________________________ 288 @short - 289 @descr - 290 291 @seealso - 292 293 @param - 294 295 @return - 296 297 @onerror - 298 */ 299 300 SfxBaseModel( SfxObjectShell *pObjektShell = NULL ) ; 301 302 /**___________________________________________________________________________________________________ 303 @short - 304 @descr - 305 306 @seealso - 307 308 @param - 309 310 @return - 311 312 @onerror - 313 */ 314 315 virtual ~SfxBaseModel() ; 316 317 //____________________________________________________________________________________________________ 318 // XInterface 319 //____________________________________________________________________________________________________ 320 321 /**___________________________________________________________________________________________________ 322 @short give answer, if interface is supported 323 @descr The interfaces are searched by type. 324 325 @seealso XInterface 326 327 @param "rType" is the type of searched interface. 328 329 @return Any information about found interface 330 331 @onerror A RuntimeException is thrown. 332 */ 333 334 virtual ANY SAL_CALL queryInterface( const UNOTYPE& rType ) throw( RUNTIMEEXCEPTION ) ; 335 336 /**___________________________________________________________________________________________________ 337 @short increment refcount 338 @descr - 339 340 @seealso XInterface 341 @seealso release() 342 343 @param - 344 345 @return - 346 347 @onerror A RuntimeException is thrown. 348 */ 349 350 virtual void SAL_CALL acquire() throw() ; 351 352 /**___________________________________________________________________________________________________ 353 @short decrement refcount 354 @descr - 355 356 @seealso XInterface 357 @seealso acquire() 358 359 @param - 360 361 @return - 362 363 @onerror A RuntimeException is thrown. 364 */ 365 366 virtual void SAL_CALL release() throw() ; 367 368 //____________________________________________________________________________________________________ 369 // XTypeProvider 370 //____________________________________________________________________________________________________ 371 372 /**___________________________________________________________________________________________________ 373 @short get information about supported interfaces 374 @descr - 375 376 @seealso XTypeProvider 377 378 @param - 379 380 @return Sequence of types of all supported interfaces 381 382 @onerror A RuntimeException is thrown. 383 */ 384 385 virtual ::com::sun::star::uno::Sequence< UNOTYPE > SAL_CALL getTypes() throw( RUNTIMEEXCEPTION ) ; 386 387 /**___________________________________________________________________________________________________ 388 @short get implementation id 389 @descr This ID is necessary for UNO-caching. If there no ID, cache is disabled. 390 Another way, cache is enabled. 391 392 @seealso XTypeProvider 393 394 @param - 395 396 @return ID as Sequence of byte 397 398 @onerror A RuntimeException is thrown. 399 */ 400 401 virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw( RUNTIMEEXCEPTION ) ; 402 403 404 //____________________________________________________________________________________________________ 405 // XStarBasicAccess 406 //____________________________________________________________________________________________________ 407 408 /**___________________________________________________________________________________________________ 409 @seealso XStarBasicAccess 410 */ 411 virtual REFERENCE< XNAMECONTAINER > SAL_CALL getLibraryContainer() throw( RUNTIMEEXCEPTION ); 412 413 /**___________________________________________________________________________________________________ 414 @seealso XStarBasicAccess 415 */ 416 virtual void SAL_CALL createLibrary( const OUSTRING& LibName, const OUSTRING& Password, 417 const OUSTRING& ExternalSourceURL, const OUSTRING& LinkTargetURL ) 418 throw(ELEMENTEXISTEXCEPTION, RUNTIMEEXCEPTION); 419 420 /**___________________________________________________________________________________________________ 421 @seealso XStarBasicAccess 422 */ 423 virtual void SAL_CALL addModule( const OUSTRING& LibraryName, const OUSTRING& ModuleName, 424 const OUSTRING& Language, const OUSTRING& Source ) 425 throw( NOSUCHELEMENTEXCEPTION, RUNTIMEEXCEPTION); 426 427 /**___________________________________________________________________________________________________ 428 @seealso XStarBasicAccess 429 */ 430 virtual void SAL_CALL addDialog( const OUSTRING& LibraryName, const OUSTRING& DialogName, 431 const ::com::sun::star::uno::Sequence< sal_Int8 >& Data ) 432 throw(NOSUCHELEMENTEXCEPTION, RUNTIMEEXCEPTION); 433 434 435 //____________________________________________________________________________________________________ 436 // XChild 437 //____________________________________________________________________________________________________ 438 439 /**___________________________________________________________________________________________________ 440 @short - 441 @descr - 442 443 @seealso - 444 445 @param - 446 447 @return - 448 449 @onerror - 450 */ 451 452 virtual REFERENCE< XINTERFACE > SAL_CALL getParent() throw( RUNTIMEEXCEPTION ) ; 453 454 /**___________________________________________________________________________________________________ 455 @short - 456 @descr - 457 458 @seealso - 459 460 @param - 461 462 @return - 463 464 @onerror - 465 */ 466 467 virtual void SAL_CALL setParent( const REFERENCE< XINTERFACE >& xParent ) throw( NOSUPPORTEXCEPTION , 468 RUNTIMEEXCEPTION ) ; 469 470 //____________________________________________________________________________________________________ 471 // XComponent 472 //____________________________________________________________________________________________________ 473 474 /**___________________________________________________________________________________________________ 475 @short - 476 @descr - 477 478 @seealso - 479 480 @param - 481 482 @return - 483 484 @onerror - 485 */ 486 487 virtual void SAL_CALL dispose() throw (::com::sun::star::uno::RuntimeException); 488 489 /**___________________________________________________________________________________________________ 490 @short - 491 @descr - 492 493 @seealso - 494 495 @param - 496 497 @return - 498 499 @onerror - 500 */ 501 502 virtual void SAL_CALL addEventListener(const REFERENCE< XEVENTLISTENER >& aListener) throw (::com::sun::star::uno::RuntimeException); 503 504 /**___________________________________________________________________________________________________ 505 @short - 506 @descr - 507 508 @seealso - 509 510 @param - 511 512 @return - 513 514 @onerror - 515 */ 516 517 virtual void SAL_CALL removeEventListener(const REFERENCE< XEVENTLISTENER >& aListener ) throw (::com::sun::star::uno::RuntimeException); 518 519 //____________________________________________________________________________________________________ 520 // XDocumentInfoSupplier 521 //____________________________________________________________________________________________________ 522 523 /**___________________________________________________________________________________________________ 524 @short - 525 @descr - 526 527 @seealso - 528 529 @param - 530 531 @return - 532 533 @onerror - 534 */ 535 536 virtual REFERENCE< XDOCUMENTINFO > SAL_CALL getDocumentInfo() throw (::com::sun::star::uno::RuntimeException); 537 538 // XDocumentPropertiesSupplier 539 virtual ::com::sun::star::uno::Reference< ::com::sun::star::document::XDocumentProperties > 540 SAL_CALL getDocumentProperties() 541 throw (::com::sun::star::uno::RuntimeException); 542 543 //____________________________________________________________________________________________________ 544 // XEventListener 545 //____________________________________________________________________________________________________ 546 547 /**___________________________________________________________________________________________________ 548 @short - 549 @descr - 550 551 @seealso - 552 553 @param - 554 555 @return - 556 557 @onerror - 558 */ 559 560 virtual void SAL_CALL disposing( const EVENTOBJECT& aEvent ) throw (::com::sun::star::uno::RuntimeException); 561 562 //____________________________________________________________________________________________________ 563 // XModel 564 //____________________________________________________________________________________________________ 565 566 /**___________________________________________________________________________________________________ 567 @short - 568 @descr - 569 570 @seealso - 571 572 @param - 573 574 @return - 575 576 @onerror - 577 */ 578 579 virtual sal_Bool SAL_CALL attachResource( const OUSTRING& sURL , 580 const ::com::sun::star::uno::Sequence< PROPERTYVALUE >& aArgs ) 581 throw (::com::sun::star::uno::RuntimeException); 582 583 /**___________________________________________________________________________________________________ 584 @short - 585 @descr - 586 587 @seealso - 588 589 @param - 590 591 @return - 592 593 @onerror - 594 */ 595 596 virtual OUSTRING SAL_CALL getURL() throw (::com::sun::star::uno::RuntimeException); 597 598 /**___________________________________________________________________________________________________ 599 @short - 600 @descr - 601 602 @seealso - 603 604 @param - 605 606 @return - 607 608 @onerror - 609 */ 610 611 virtual ::com::sun::star::uno::Sequence< PROPERTYVALUE > SAL_CALL getArgs() throw (::com::sun::star::uno::RuntimeException); 612 613 /**___________________________________________________________________________________________________ 614 @short - 615 @descr - 616 617 @seealso - 618 619 @param - 620 621 @return - 622 623 @onerror - 624 */ 625 626 virtual void SAL_CALL connectController( const REFERENCE< XCONTROLLER >& xController ) throw (::com::sun::star::uno::RuntimeException); 627 628 /**___________________________________________________________________________________________________ 629 @short - 630 @descr - 631 632 @seealso - 633 634 @param - 635 636 @return - 637 638 @onerror - 639 */ 640 641 virtual void SAL_CALL disconnectController( const REFERENCE< XCONTROLLER >& xController ) throw (::com::sun::star::uno::RuntimeException); 642 643 /**___________________________________________________________________________________________________ 644 @short - 645 @descr - 646 647 @seealso - 648 649 @param - 650 651 @return - 652 653 @onerror - 654 */ 655 656 virtual void SAL_CALL lockControllers() throw (::com::sun::star::uno::RuntimeException); 657 658 /**___________________________________________________________________________________________________ 659 @short - 660 @descr - 661 662 @seealso - 663 664 @param - 665 666 @return - 667 668 @onerror - 669 */ 670 671 virtual void SAL_CALL unlockControllers() throw (::com::sun::star::uno::RuntimeException); 672 673 /**___________________________________________________________________________________________________ 674 @short - 675 @descr - 676 677 @seealso - 678 679 @param - 680 681 @return - 682 683 @onerror - 684 */ 685 686 virtual sal_Bool SAL_CALL hasControllersLocked() throw (::com::sun::star::uno::RuntimeException); 687 688 /**___________________________________________________________________________________________________ 689 @short - 690 @descr - 691 692 @seealso - 693 694 @param - 695 696 @return - 697 698 @onerror - 699 */ 700 701 virtual REFERENCE< XCONTROLLER > SAL_CALL getCurrentController() throw (::com::sun::star::uno::RuntimeException); 702 703 /**___________________________________________________________________________________________________ 704 @short - 705 @descr - 706 707 @seealso - 708 709 @param - 710 711 @return - 712 713 @onerror - 714 */ 715 716 virtual void SAL_CALL setCurrentController( const REFERENCE< XCONTROLLER >& xController ) 717 throw (::com::sun::star::container::NoSuchElementException, ::com::sun::star::uno::RuntimeException); 718 719 /**___________________________________________________________________________________________________ 720 @short - 721 @descr - 722 723 @seealso - 724 725 @param - 726 727 @return - 728 729 @onerror - 730 */ 731 732 virtual REFERENCE< XINTERFACE > SAL_CALL getCurrentSelection() throw (::com::sun::star::uno::RuntimeException); 733 734 //____________________________________________________________________________________________________ 735 // XModel2 736 //____________________________________________________________________________________________________ 737 virtual css::uno::Reference< css::container::XEnumeration > SAL_CALL getControllers() 738 throw (css::uno::RuntimeException); 739 740 virtual css::uno::Sequence< ::rtl::OUString > SAL_CALL getAvailableViewControllerNames() 741 throw (css::uno::RuntimeException); 742 743 virtual css::uno::Reference< css::frame::XController2 > SAL_CALL createDefaultViewController(const css::uno::Reference< css::frame::XFrame >& Frame ) 744 throw (css::uno::RuntimeException , 745 css::lang::IllegalArgumentException, 746 css::uno::Exception ); 747 748 virtual css::uno::Reference< css::frame::XController2 > SAL_CALL createViewController(const ::rtl::OUString& ViewName , 749 const css::uno::Sequence< css::beans::PropertyValue >& Arguments , 750 const css::uno::Reference< css::frame::XFrame >& Frame ) 751 throw (css::uno::RuntimeException , 752 css::lang::IllegalArgumentException, 753 css::uno::Exception ); 754 755 //____________________________________________________________________________________________________ 756 // XModifiable2 757 //____________________________________________________________________________________________________ 758 759 virtual ::sal_Bool SAL_CALL disableSetModified( ) throw (::com::sun::star::uno::RuntimeException); 760 virtual ::sal_Bool SAL_CALL enableSetModified( ) throw (::com::sun::star::uno::RuntimeException); 761 virtual ::sal_Bool SAL_CALL isSetModifiedEnabled( ) throw (::com::sun::star::uno::RuntimeException); 762 763 /**___________________________________________________________________________________________________ 764 @short - 765 @descr - 766 767 @seealso - 768 769 @param - 770 771 @return - 772 773 @onerror - 774 */ 775 776 virtual sal_Bool SAL_CALL isModified() throw (::com::sun::star::uno::RuntimeException); 777 778 /**___________________________________________________________________________________________________ 779 @short - 780 @descr - 781 782 @seealso - 783 784 @param - 785 786 @return - 787 788 @onerror - 789 */ 790 791 virtual void SAL_CALL setModified( sal_Bool bModified ) 792 throw (::com::sun::star::beans::PropertyVetoException, ::com::sun::star::uno::RuntimeException); 793 794 /**___________________________________________________________________________________________________ 795 @short - 796 @descr - 797 798 @seealso - 799 800 @param - 801 802 @return - 803 804 @onerror - 805 */ 806 807 virtual void SAL_CALL addModifyListener( const REFERENCE< XMODIFYLISTENER >& xListener ) throw( RUNTIMEEXCEPTION ) ; 808 809 /**___________________________________________________________________________________________________ 810 @short - 811 @descr - 812 813 @seealso - 814 815 @param - 816 817 @return - 818 819 @onerror - 820 */ 821 822 virtual void SAL_CALL removeModifyListener(const REFERENCE< XMODIFYLISTENER > & xListener) throw( RUNTIMEEXCEPTION ) ; 823 824 //____________________________________________________________________________________________________ 825 // XCloseable 826 //____________________________________________________________________________________________________ 827 828 virtual void SAL_CALL close( sal_Bool bDeliverOwnership ) throw (CLOSEVETOEXCEPTION, RUNTIMEEXCEPTION); 829 830 //____________________________________________________________________________________________________ 831 // XCloseBroadcaster 832 //____________________________________________________________________________________________________ 833 834 virtual void SAL_CALL addCloseListener( const REFERENCE< XCLOSELISTENER >& xListener ) throw (RUNTIMEEXCEPTION); 835 virtual void SAL_CALL removeCloseListener( const REFERENCE< XCLOSELISTENER >& xListener ) throw (RUNTIMEEXCEPTION); 836 837 //____________________________________________________________________________________________________ 838 // XPrintJobBroadcaster 839 //____________________________________________________________________________________________________ 840 841 virtual void SAL_CALL addPrintJobListener( const ::com::sun::star::uno::Reference< ::com::sun::star::view::XPrintJobListener >& xListener ) throw (::com::sun::star::uno::RuntimeException); 842 virtual void SAL_CALL removePrintJobListener( const ::com::sun::star::uno::Reference< ::com::sun::star::view::XPrintJobListener >& xListener ) throw (::com::sun::star::uno::RuntimeException); 843 844 //____________________________________________________________________________________________________ 845 // XPrintable 846 //____________________________________________________________________________________________________ 847 848 /**___________________________________________________________________________________________________ 849 @short - 850 @descr - 851 852 @seealso - 853 854 @param - 855 856 @return - 857 858 @onerror - 859 */ 860 861 virtual ::com::sun::star::uno::Sequence< PROPERTYVALUE > SAL_CALL getPrinter() throw (::com::sun::star::uno::RuntimeException); 862 863 /**___________________________________________________________________________________________________ 864 @short - 865 @descr - 866 867 @seealso - 868 869 @param - 870 871 @return - 872 873 @onerror - 874 */ 875 876 virtual void SAL_CALL setPrinter( const ::com::sun::star::uno::Sequence< PROPERTYVALUE >& seqPrinter ) 877 throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException); 878 /**___________________________________________________________________________________________________ 879 @short - 880 @descr - 881 882 @seealso - 883 884 @param - 885 886 @return - 887 888 @onerror - 889 */ 890 891 virtual void SAL_CALL print( const ::com::sun::star::uno::Sequence< PROPERTYVALUE >& seqOptions ) 892 throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException); 893 894 //____________________________________________________________________________________________________ 895 // XStorable2 896 //____________________________________________________________________________________________________ 897 898 virtual void SAL_CALL storeSelf( const ::com::sun::star::uno::Sequence< PROPERTYVALUE >& seqArguments ) 899 throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::io::IOException, ::com::sun::star::uno::RuntimeException); 900 901 //____________________________________________________________________________________________________ 902 // XStorable 903 //____________________________________________________________________________________________________ 904 905 /**___________________________________________________________________________________________________ 906 @short - 907 @descr - 908 909 @seealso - 910 911 @param - 912 913 @return - 914 915 @onerror - 916 */ 917 918 virtual sal_Bool SAL_CALL hasLocation() throw (::com::sun::star::uno::RuntimeException); 919 920 /**___________________________________________________________________________________________________ 921 @short - 922 @descr - 923 924 @seealso - 925 926 @param - 927 928 @return - 929 930 @onerror - 931 */ 932 933 virtual OUSTRING SAL_CALL getLocation() throw (::com::sun::star::uno::RuntimeException); 934 935 /**___________________________________________________________________________________________________ 936 @short - 937 @descr - 938 939 @seealso - 940 941 @param - 942 943 @return - 944 945 @onerror - 946 */ 947 948 virtual sal_Bool SAL_CALL isReadonly() throw (::com::sun::star::uno::RuntimeException); 949 950 /**___________________________________________________________________________________________________ 951 @short - 952 @descr - 953 954 @seealso - 955 956 @param - 957 958 @return - 959 960 @onerror - 961 */ 962 963 virtual void SAL_CALL store() throw (::com::sun::star::io::IOException, ::com::sun::star::uno::RuntimeException); 964 965 /**___________________________________________________________________________________________________ 966 @short - 967 @descr - 968 969 @seealso - 970 971 @param - 972 973 @return - 974 975 @onerror - 976 */ 977 978 virtual void SAL_CALL storeAsURL( const OUSTRING& sURL , 979 const ::com::sun::star::uno::Sequence< PROPERTYVALUE >& seqArguments ) 980 throw (::com::sun::star::io::IOException, ::com::sun::star::uno::RuntimeException) ; 981 982 /**___________________________________________________________________________________________________ 983 @short - 984 @descr - 985 986 @seealso - 987 988 @param - 989 990 @return - 991 992 @onerror - 993 */ 994 995 virtual void SAL_CALL storeToURL( const OUSTRING& sURL , 996 const ::com::sun::star::uno::Sequence< PROPERTYVALUE >& seqArguments ) 997 throw (::com::sun::star::io::IOException, ::com::sun::star::uno::RuntimeException); 998 999 1000 1001 //____________________________________________________________________________________________________ 1002 // XLoadable 1003 //____________________________________________________________________________________________________ 1004 1005 /**___________________________________________________________________________________________________ 1006 @short - 1007 @descr - 1008 1009 @seealso - 1010 1011 @param - 1012 1013 @return - 1014 1015 @onerror - 1016 */ 1017 1018 virtual void SAL_CALL initNew() 1019 throw (::com::sun::star::frame::DoubleInitializationException, 1020 ::com::sun::star::io::IOException, 1021 ::com::sun::star::uno::RuntimeException, 1022 ::com::sun::star::uno::Exception); 1023 1024 /**___________________________________________________________________________________________________ 1025 @short - 1026 @descr - 1027 1028 @seealso - 1029 1030 @param - 1031 1032 @return - 1033 1034 @onerror - 1035 */ 1036 1037 virtual void SAL_CALL load( const ::com::sun::star::uno::Sequence< PROPERTYVALUE >& seqArguments ) 1038 throw (::com::sun::star::frame::DoubleInitializationException, 1039 ::com::sun::star::io::IOException, 1040 ::com::sun::star::uno::RuntimeException, 1041 ::com::sun::star::uno::Exception); 1042 1043 //____________________________________________________________________________________________________ 1044 // XDocumentSubStorageSupplier 1045 //____________________________________________________________________________________________________ 1046 1047 virtual REFERENCE< XSTORAGE > SAL_CALL getDocumentSubStorage( const ::rtl::OUString& aStorageName, sal_Int32 nMode ) 1048 throw ( RUNTIMEEXCEPTION ); 1049 1050 virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getDocumentSubStoragesNames() 1051 throw ( ::com::sun::star::io::IOException, ::com::sun::star::uno::RuntimeException ); 1052 1053 //____________________________________________________________________________________________________ 1054 // XStorageBasedDocument 1055 //____________________________________________________________________________________________________ 1056 1057 virtual void SAL_CALL loadFromStorage( const REFERENCE< XSTORAGE >& xStorage, 1058 const ::com::sun::star::uno::Sequence< PROPERTYVALUE >& aMediaDescriptor ) 1059 throw ( ILLEGALARGUMENTEXCEPTION, 1060 DOUBLEINITIALIZATIONEXCEPTION, 1061 IOEXCEPTION, 1062 EXCEPTION, 1063 RUNTIMEEXCEPTION ); 1064 1065 virtual void SAL_CALL storeToStorage( const REFERENCE< XSTORAGE >& xStorage, 1066 const ::com::sun::star::uno::Sequence< PROPERTYVALUE >& aMediaDescriptor ) 1067 throw ( ILLEGALARGUMENTEXCEPTION, 1068 IOEXCEPTION, 1069 EXCEPTION, 1070 RUNTIMEEXCEPTION ); 1071 1072 virtual void SAL_CALL switchToStorage( const REFERENCE< XSTORAGE >& xStorage ) 1073 throw ( ILLEGALARGUMENTEXCEPTION, 1074 IOEXCEPTION, 1075 EXCEPTION, 1076 RUNTIMEEXCEPTION ); 1077 1078 virtual REFERENCE< XSTORAGE > SAL_CALL getDocumentStorage() 1079 throw ( IOEXCEPTION, 1080 EXCEPTION, 1081 RUNTIMEEXCEPTION ); 1082 1083 virtual void SAL_CALL addStorageChangeListener( 1084 const REFERENCE< ::com::sun::star::document::XStorageChangeListener >& xListener ) 1085 throw ( RUNTIMEEXCEPTION ); 1086 1087 virtual void SAL_CALL removeStorageChangeListener( 1088 const REFERENCE< ::com::sun::star::document::XStorageChangeListener >& xListener ) 1089 throw ( RUNTIMEEXCEPTION ); 1090 1091 //____________________________________________________________________________________________________ 1092 // XVisualObject 1093 //____________________________________________________________________________________________________ 1094 1095 virtual void SAL_CALL setVisualAreaSize( sal_Int64 nAspect, const ::com::sun::star::awt::Size& aSize ) 1096 throw ( ::com::sun::star::lang::IllegalArgumentException, 1097 ::com::sun::star::embed::WrongStateException, 1098 ::com::sun::star::uno::Exception, 1099 ::com::sun::star::uno::RuntimeException ); 1100 1101 virtual ::com::sun::star::awt::Size SAL_CALL getVisualAreaSize( sal_Int64 nAspect ) 1102 throw ( ::com::sun::star::lang::IllegalArgumentException, 1103 ::com::sun::star::embed::WrongStateException, 1104 ::com::sun::star::uno::Exception, 1105 ::com::sun::star::uno::RuntimeException ); 1106 1107 virtual ::com::sun::star::embed::VisualRepresentation SAL_CALL getPreferredVisualRepresentation( ::sal_Int64 nAspect ) 1108 throw ( ::com::sun::star::lang::IllegalArgumentException, 1109 ::com::sun::star::embed::WrongStateException, 1110 ::com::sun::star::uno::Exception, 1111 ::com::sun::star::uno::RuntimeException ); 1112 1113 virtual sal_Int32 SAL_CALL getMapUnit( sal_Int64 nAspect ) 1114 throw ( ::com::sun::star::uno::Exception, 1115 ::com::sun::star::uno::RuntimeException ); 1116 1117 //____________________________________________________________________________________________________ 1118 // XScriptProviderSupplier 1119 //____________________________________________________________________________________________________ 1120 1121 virtual REFERENCE< XSCRIPTPROVIDER > SAL_CALL getScriptProvider() throw ( RUNTIMEEXCEPTION ); 1122 1123 //____________________________________________________________________________________________________ 1124 // XUIConfigurationManagerSupplier 1125 //____________________________________________________________________________________________________ 1126 virtual REFERENCE< XUICONFIGURATIONMANAGER > SAL_CALL getUIConfigurationManager() throw ( RUNTIMEEXCEPTION ); 1127 1128 //____________________________________________________________________________________________________ 1129 // XTransferable 1130 //____________________________________________________________________________________________________ 1131 1132 /**___________________________________________________________________________________________________ 1133 @short - 1134 @descr - 1135 1136 @seealso - 1137 1138 @param - 1139 1140 @return - 1141 1142 @onerror - 1143 */ 1144 1145 virtual ANY SAL_CALL getTransferData( const DATAFLAVOR& aFlavor ) 1146 throw (::com::sun::star::datatransfer::UnsupportedFlavorException, 1147 ::com::sun::star::io::IOException, 1148 ::com::sun::star::uno::RuntimeException); 1149 1150 /**___________________________________________________________________________________________________ 1151 @short - 1152 @descr - 1153 1154 @seealso - 1155 1156 @param - 1157 1158 @return - 1159 1160 @onerror - 1161 */ 1162 1163 1164 virtual ::com::sun::star::uno::Sequence< DATAFLAVOR > SAL_CALL getTransferDataFlavors() 1165 throw (::com::sun::star::uno::RuntimeException); 1166 1167 /**___________________________________________________________________________________________________ 1168 @short - 1169 @descr - 1170 1171 @seealso - 1172 1173 @param - 1174 1175 @return - 1176 1177 @onerror - 1178 */ 1179 1180 virtual sal_Bool SAL_CALL isDataFlavorSupported( const DATAFLAVOR& aFlavor ) 1181 throw (::com::sun::star::uno::RuntimeException); 1182 1183 1184 //____________________________________________________________________________________________________ 1185 // XEventsSupplier 1186 //____________________________________________________________________________________________________ 1187 1188 /**___________________________________________________________________________________________________ 1189 @short - 1190 @descr - offers a list of event handlers which are be bound to events of 1191 this object. 1192 @seealso - 1193 1194 @param - 1195 1196 @return - an <type>Events</type> object. 1197 1198 @onerror - 1199 */ 1200 1201 virtual REFERENCE< XNAMEREPLACE > SAL_CALL getEvents() throw( RUNTIMEEXCEPTION ); 1202 1203 1204 //____________________________________________________________________________________________________ 1205 // XEmbeddedScripts 1206 //____________________________________________________________________________________________________ 1207 1208 virtual ::com::sun::star::uno::Reference< ::com::sun::star::script::XStorageBasedLibraryContainer > SAL_CALL getBasicLibraries() throw (::com::sun::star::uno::RuntimeException); 1209 virtual ::com::sun::star::uno::Reference< ::com::sun::star::script::XStorageBasedLibraryContainer > SAL_CALL getDialogLibraries() throw (::com::sun::star::uno::RuntimeException); 1210 virtual ::sal_Bool SAL_CALL getAllowMacroExecution() throw (::com::sun::star::uno::RuntimeException); 1211 1212 //____________________________________________________________________________________________________ 1213 // XScriptInvocationContext 1214 //____________________________________________________________________________________________________ 1215 1216 virtual ::com::sun::star::uno::Reference< ::com::sun::star::document::XEmbeddedScripts > SAL_CALL getScriptContainer() throw (::com::sun::star::uno::RuntimeException); 1217 1218 //____________________________________________________________________________________________________ 1219 // XEventBroadcaster 1220 //____________________________________________________________________________________________________ 1221 1222 /**___________________________________________________________________________________________________ 1223 @short - 1224 @descr - registers the given <type>XEventListener</type>. 1225 1226 @seealso - 1227 1228 @param - 1229 1230 @return - 1231 1232 @onerror - 1233 */ 1234 1235 virtual void SAL_CALL addEventListener( const REFERENCE< XDOCEVENTLISTENER >& xListener ) throw( RUNTIMEEXCEPTION ); 1236 1237 /**___________________________________________________________________________________________________ 1238 @short - 1239 @descr - unregisters the given <type>XEventListener</type>. 1240 1241 @seealso - 1242 1243 @param - 1244 1245 @return - 1246 1247 @onerror - 1248 */ 1249 1250 virtual void SAL_CALL removeEventListener( const REFERENCE< XDOCEVENTLISTENER >& xListener ) throw( RUNTIMEEXCEPTION ); 1251 1252 //____________________________________________________________________________________________________ 1253 // XDocumentEventBroadcaster 1254 //____________________________________________________________________________________________________ 1255 1256 virtual void SAL_CALL addDocumentEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::document::XDocumentEventListener >& _Listener ) throw (::com::sun::star::uno::RuntimeException); 1257 virtual void SAL_CALL removeDocumentEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::document::XDocumentEventListener >& _Listener ) throw (::com::sun::star::uno::RuntimeException); 1258 virtual void SAL_CALL notifyDocumentEvent( const ::rtl::OUString& _EventName, const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XController2 >& _ViewController, const ::com::sun::star::uno::Any& _Supplement ) throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::NoSupportException, ::com::sun::star::uno::RuntimeException); 1259 1260 //____________________________________________________________________________________________________ 1261 // XUnoTunnel 1262 //____________________________________________________________________________________________________ 1263 1264 virtual sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence< sal_Int8 >& aIdentifier ) throw(::com::sun::star::uno::RuntimeException); 1265 1266 // css.frame.XModule 1267 virtual void SAL_CALL setIdentifier(const ::rtl::OUString& sIdentifier) 1268 throw (css::uno::RuntimeException); 1269 1270 // css.frame.XModule 1271 virtual ::rtl::OUString SAL_CALL getIdentifier() 1272 throw (css::uno::RuntimeException); 1273 1274 // css.frame.XTitle 1275 virtual ::rtl::OUString SAL_CALL getTitle() 1276 throw (css::uno::RuntimeException); 1277 1278 // css.frame.XTitle 1279 virtual void SAL_CALL setTitle( const ::rtl::OUString& sTitle ) 1280 throw (css::uno::RuntimeException); 1281 1282 // css.frame.XTitleChangeBroadcaster 1283 virtual void SAL_CALL addTitleChangeListener( const css::uno::Reference< css::frame::XTitleChangeListener >& xListener ) 1284 throw (css::uno::RuntimeException); 1285 1286 // css.frame.XTitleChangeBroadcaster 1287 virtual void SAL_CALL removeTitleChangeListener( const css::uno::Reference< css::frame::XTitleChangeListener >& xListener ) 1288 throw (css::uno::RuntimeException); 1289 1290 // css.frame.XUntitledNumbers 1291 virtual ::sal_Int32 SAL_CALL leaseNumber( const css::uno::Reference< css::uno::XInterface >& xComponent ) 1292 throw (css::lang::IllegalArgumentException, 1293 css::uno::RuntimeException ); 1294 1295 // css.frame.XUntitledNumbers 1296 virtual void SAL_CALL releaseNumber( ::sal_Int32 nNumber ) 1297 throw (css::lang::IllegalArgumentException, 1298 css::uno::RuntimeException ); 1299 1300 // css.frame.XUntitledNumbers 1301 virtual void SAL_CALL releaseNumberForComponent( const css::uno::Reference< css::uno::XInterface >& xComponent ) 1302 throw (css::lang::IllegalArgumentException, 1303 css::uno::RuntimeException ); 1304 1305 // css.frame.XUntitledNumbers 1306 virtual ::rtl::OUString SAL_CALL getUntitledPrefix() 1307 throw (css::uno::RuntimeException); 1308 1309 // css.document.XDocumentRecovery 1310 virtual ::sal_Bool SAL_CALL wasModifiedSinceLastSave() 1311 throw ( ::com::sun::star::uno::RuntimeException ); 1312 virtual void SAL_CALL storeToRecoveryFile( const ::rtl::OUString& i_TargetLocation, const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& i_MediaDescriptor ) 1313 throw ( ::com::sun::star::uno::RuntimeException, 1314 ::com::sun::star::io::IOException, 1315 ::com::sun::star::lang::WrappedTargetException ); 1316 virtual void SAL_CALL recoverFromFile( const ::rtl::OUString& i_SourceLocation, const ::rtl::OUString& i_SalvagedFile, const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& i_MediaDescriptor ) 1317 throw ( ::com::sun::star::uno::RuntimeException, 1318 ::com::sun::star::io::IOException, 1319 ::com::sun::star::lang::WrappedTargetException ); 1320 1321 // css.document.XUndoManagerSupplier 1322 virtual ::com::sun::star::uno::Reference< ::com::sun::star::document::XUndoManager > SAL_CALL getUndoManager( ) throw (::com::sun::star::uno::RuntimeException); 1323 1324 //____________________________________________________________________________________________________ 1325 1326 // ::com::sun::star::rdf::XNode: 1327 virtual ::rtl::OUString SAL_CALL getStringValue() 1328 throw (::com::sun::star::uno::RuntimeException); 1329 1330 // ::com::sun::star::rdf::XURI: 1331 virtual ::rtl::OUString SAL_CALL getNamespace() 1332 throw (::com::sun::star::uno::RuntimeException); 1333 virtual ::rtl::OUString SAL_CALL getLocalName() 1334 throw (::com::sun::star::uno::RuntimeException); 1335 1336 // ::com::sun::star::rdf::XRepositorySupplier: 1337 virtual ::com::sun::star::uno::Reference< 1338 ::com::sun::star::rdf::XRepository > SAL_CALL getRDFRepository() 1339 throw (::com::sun::star::uno::RuntimeException); 1340 1341 // ::com::sun::star::rdf::XDocumentMetadataAccess: 1342 virtual ::com::sun::star::uno::Reference< 1343 ::com::sun::star::rdf::XMetadatable > SAL_CALL 1344 getElementByMetadataReference( 1345 const ::com::sun::star::beans::StringPair & i_rReference) 1346 throw (::com::sun::star::uno::RuntimeException); 1347 virtual ::com::sun::star::uno::Reference< 1348 ::com::sun::star::rdf::XMetadatable > SAL_CALL 1349 getElementByURI(const ::com::sun::star::uno::Reference< 1350 ::com::sun::star::rdf::XURI > & i_xURI) 1351 throw (::com::sun::star::uno::RuntimeException, 1352 ::com::sun::star::lang::IllegalArgumentException); 1353 virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Reference< 1354 ::com::sun::star::rdf::XURI > > SAL_CALL getMetadataGraphsWithType( 1355 const ::com::sun::star::uno::Reference< 1356 ::com::sun::star::rdf::XURI > & i_xType) 1357 throw (::com::sun::star::uno::RuntimeException, 1358 ::com::sun::star::lang::IllegalArgumentException); 1359 virtual ::com::sun::star::uno::Reference< 1360 ::com::sun::star::rdf::XURI> SAL_CALL 1361 addMetadataFile(const ::rtl::OUString & i_rFileName, 1362 const ::com::sun::star::uno::Sequence< 1363 ::com::sun::star::uno::Reference< ::com::sun::star::rdf::XURI > 1364 > & i_rTypes) 1365 throw (::com::sun::star::uno::RuntimeException, 1366 ::com::sun::star::lang::IllegalArgumentException, 1367 ::com::sun::star::container::ElementExistException); 1368 virtual ::com::sun::star::uno::Reference< 1369 ::com::sun::star::rdf::XURI> SAL_CALL 1370 importMetadataFile(::sal_Int16 i_Format, 1371 const ::com::sun::star::uno::Reference< 1372 ::com::sun::star::io::XInputStream > & i_xInStream, 1373 const ::rtl::OUString & i_rFileName, 1374 const ::com::sun::star::uno::Reference< 1375 ::com::sun::star::rdf::XURI > & i_xBaseURI, 1376 const ::com::sun::star::uno::Sequence< 1377 ::com::sun::star::uno::Reference< ::com::sun::star::rdf::XURI > 1378 > & i_rTypes) 1379 throw (::com::sun::star::uno::RuntimeException, 1380 ::com::sun::star::lang::IllegalArgumentException, 1381 ::com::sun::star::datatransfer::UnsupportedFlavorException, 1382 ::com::sun::star::container::ElementExistException, 1383 ::com::sun::star::rdf::ParseException, 1384 ::com::sun::star::io::IOException); 1385 virtual void SAL_CALL removeMetadataFile( 1386 const ::com::sun::star::uno::Reference< 1387 ::com::sun::star::rdf::XURI > & i_xGraphName) 1388 throw (::com::sun::star::uno::RuntimeException, 1389 ::com::sun::star::lang::IllegalArgumentException, 1390 ::com::sun::star::container::NoSuchElementException); 1391 virtual void SAL_CALL addContentOrStylesFile( 1392 const ::rtl::OUString & i_rFileName) 1393 throw (::com::sun::star::uno::RuntimeException, 1394 ::com::sun::star::lang::IllegalArgumentException, 1395 ::com::sun::star::container::ElementExistException); 1396 virtual void SAL_CALL removeContentOrStylesFile( 1397 const ::rtl::OUString & i_rFileName) 1398 throw (::com::sun::star::uno::RuntimeException, 1399 ::com::sun::star::lang::IllegalArgumentException, 1400 ::com::sun::star::container::NoSuchElementException); 1401 1402 virtual void SAL_CALL loadMetadataFromStorage( 1403 const ::com::sun::star::uno::Reference< 1404 ::com::sun::star::embed::XStorage > & i_xStorage, 1405 const ::com::sun::star::uno::Reference< 1406 ::com::sun::star::rdf::XURI > & i_xBaseURI, 1407 const ::com::sun::star::uno::Reference< 1408 ::com::sun::star::task::XInteractionHandler> & i_xHandler) 1409 throw (::com::sun::star::uno::RuntimeException, 1410 ::com::sun::star::lang::IllegalArgumentException, 1411 ::com::sun::star::lang::WrappedTargetException); 1412 virtual void SAL_CALL storeMetadataToStorage( 1413 const ::com::sun::star::uno::Reference< 1414 ::com::sun::star::embed::XStorage > & i_xStorage) 1415 throw (::com::sun::star::uno::RuntimeException, 1416 ::com::sun::star::lang::IllegalArgumentException, 1417 ::com::sun::star::lang::WrappedTargetException); 1418 virtual void SAL_CALL loadMetadataFromMedium( 1419 const ::com::sun::star::uno::Sequence< 1420 ::com::sun::star::beans::PropertyValue > & i_rMedium) 1421 throw (::com::sun::star::uno::RuntimeException, 1422 ::com::sun::star::lang::IllegalArgumentException, 1423 ::com::sun::star::lang::WrappedTargetException); 1424 virtual void SAL_CALL storeMetadataToMedium( 1425 const ::com::sun::star::uno::Sequence< 1426 ::com::sun::star::beans::PropertyValue > & i_rMedium) 1427 throw (::com::sun::star::uno::RuntimeException, 1428 ::com::sun::star::lang::IllegalArgumentException, 1429 ::com::sun::star::lang::WrappedTargetException); 1430 1431 1432 //____________________________________________________________________________________________________ 1433 // SfxListener 1434 //____________________________________________________________________________________________________ 1435 1436 /**___________________________________________________________________________________________________ 1437 @short - 1438 @descr - 1439 1440 @seealso - 1441 1442 @param - 1443 1444 @return - 1445 1446 @onerror - 1447 */ 1448 1449 void Notify( SfxBroadcaster& aBC , 1450 const SfxHint& aHint ) ; 1451 1452 //____________________________________________________________________________________________________ 1453 // public IMPL? 1454 //____________________________________________________________________________________________________ 1455 1456 /**___________________________________________________________________________________________________ 1457 @short - 1458 @descr - 1459 1460 @seealso - 1461 1462 @param - 1463 1464 @return - 1465 1466 @onerror - 1467 */ 1468 1469 void changing() ; 1470 SAL_DLLPRIVATE void impl_change() ; 1471 1472 /**___________________________________________________________________________________________________ 1473 @short - 1474 @descr - 1475 1476 @seealso - 1477 1478 @param - 1479 1480 @return - 1481 1482 @onerror - 1483 */ 1484 1485 SfxObjectShell* GetObjectShell() const ; 1486 SAL_DLLPRIVATE SfxObjectShell* impl_getObjectShell() const ; 1487 1488 SAL_DLLPRIVATE sal_Bool impl_isDisposed() const ; 1489 sal_Bool IsInitialized() const; IsDisposed() const1490 sal_Bool IsDisposed() const { return impl_isDisposed(); } 1491 void MethodEntryCheck( const bool i_mustBeInitialized ) const; getMutex() const1492 ::osl::Mutex& getMutex() const { return m_aMutex; } 1493 1494 ::com::sun::star::uno::Reference < ::com::sun::star::container::XIndexAccess > SAL_CALL getViewData() throw (::com::sun::star::uno::RuntimeException); 1495 void SAL_CALL setViewData( const ::com::sun::star::uno::Reference < ::com::sun::star::container::XIndexAccess >& aData ) throw (::com::sun::star::uno::RuntimeException); 1496 1497 /** calls all XEventListeners */ 1498 void notifyEvent( const ::com::sun::star::document::EventObject& aEvent ) const; 1499 1500 /** returns true if someone added a XEventListener to this XEventBroadcaster */ 1501 sal_Bool hasEventListeners() const; 1502 1503 protected: 1504 1505 /* returns a unique id for the model that is valid as long as the document 1506 is loaded. The id is not saved across document close/reload. */ 1507 rtl::OUString getRuntimeUID() const; 1508 1509 /* returns true if the document signatures are valid, otherwise false */ 1510 sal_Bool hasValidSignatures() const; 1511 1512 //________________________________________________________________________________________________________ 1513 // private methods 1514 //________________________________________________________________________________________________________ 1515 1516 private: 1517 1518 /**___________________________________________________________________________________________________ 1519 @short - 1520 @descr - 1521 1522 @seealso - 1523 1524 @param - 1525 1526 @return - 1527 1528 @onerror - 1529 */ 1530 1531 bool impl_getPrintHelper(); 1532 SAL_DLLPRIVATE void ListenForStorage_Impl( const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >& xStorage ); 1533 SAL_DLLPRIVATE ::rtl::OUString GetMediumFilterName_Impl(); 1534 1535 SAL_DLLPRIVATE void impl_store( const OUSTRING& sURL , 1536 const ::com::sun::star::uno::Sequence< PROPERTYVALUE >& seqArguments , 1537 sal_Bool bSaveTo ) ; 1538 1539 SAL_DLLPRIVATE void postEvent_Impl( const ::rtl::OUString& aName, const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XController2 >& xController = ::com::sun::star::uno::Reference< ::com::sun::star::frame::XController2 >() ); 1540 1541 SAL_DLLPRIVATE String getEventName_Impl( long nID ); 1542 SAL_DLLPRIVATE void NotifyStorageListeners_Impl(); 1543 SAL_DLLPRIVATE bool QuerySaveSizeExceededModules( const com::sun::star::uno::Reference< com::sun::star::task::XInteractionHandler >& xHandler ); 1544 1545 SAL_DLLPRIVATE css::uno::Reference< css::frame::XTitle > impl_getTitleHelper (); 1546 SAL_DLLPRIVATE css::uno::Reference< css::frame::XUntitledNumbers > impl_getUntitledHelper (); 1547 1548 SAL_DLLPRIVATE SfxViewFrame* FindOrCreateViewFrame_Impl( 1549 const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& i_rFrame, 1550 ::sfx::intern::ViewCreationGuard& i_rGuard 1551 ) const; 1552 1553 SAL_DLLPRIVATE void NotifyModifyListeners_Impl() const; 1554 1555 //________________________________________________________________________________________________________ 1556 // private variables and methods 1557 //________________________________________________________________________________________________________ 1558 1559 private: 1560 1561 IMPL_SfxBaseModel_DataContainer* m_pData ; 1562 // cannot be held in m_pData, since it needs to be accessed in non-threadsafe context 1563 const bool m_bSupportEmbeddedScripts; 1564 const bool m_bSupportDocRecovery; 1565 1566 } ; // class SfxBaseModel 1567 1568 /** base class for sub components of an SfxBaseModel, which share their ref count and lifetime with the SfxBaseModel 1569 */ 1570 class SFX2_DLLPUBLIC SfxModelSubComponent 1571 { 1572 public: 1573 /** checks whether the instance is alive, i.e. properly initialized, and not yet disposed 1574 */ MethodEntryCheck()1575 void MethodEntryCheck() 1576 { 1577 m_rModel.MethodEntryCheck( true ); 1578 } 1579 1580 // called when the SfxBaseModel which the component is superordinate of is being disposed 1581 virtual void disposing(); 1582 1583 protected: SfxModelSubComponent(SfxBaseModel & i_model)1584 SfxModelSubComponent( SfxBaseModel& i_model ) 1585 :m_rModel( i_model ) 1586 { 1587 } 1588 virtual ~SfxModelSubComponent(); 1589 1590 // helpers for implementing XInterface - delegates ref counting to the SfxBaseModel acquire()1591 void acquire() { m_rModel.acquire(); } release()1592 void release() { m_rModel.release(); } 1593 isDisposed() const1594 bool isDisposed() const { return m_rModel.IsDisposed(); } 1595 1596 protected: getBaseModel() const1597 const SfxBaseModel& getBaseModel() const { return m_rModel; } getBaseModel()1598 SfxBaseModel& getBaseModel() { return m_rModel; } 1599 getMutex()1600 ::osl::Mutex& getMutex() { return m_rModel.getMutex(); } 1601 1602 private: 1603 SfxBaseModel& m_rModel; 1604 }; 1605 1606 class SFX2_DLLPUBLIC SfxModelGuard 1607 { 1608 public: 1609 enum AllowedModelState 1610 { 1611 // not yet initialized 1612 E_INITIALIZING, 1613 // fully alive, i.e. initialized, and not yet disposed 1614 E_FULLY_ALIVE 1615 }; 1616 SfxModelGuard(SfxBaseModel & i_rModel,const AllowedModelState i_eState=E_FULLY_ALIVE)1617 SfxModelGuard( SfxBaseModel& i_rModel, const AllowedModelState i_eState = E_FULLY_ALIVE ) 1618 :m_aGuard( Application::GetSolarMutex() ) 1619 { 1620 i_rModel.MethodEntryCheck( i_eState != E_INITIALIZING ); 1621 } SfxModelGuard(SfxModelSubComponent & i_rSubComponent)1622 SfxModelGuard( SfxModelSubComponent& i_rSubComponent ) 1623 :m_aGuard( Application::GetSolarMutex() ) 1624 { 1625 i_rSubComponent.MethodEntryCheck(); 1626 } ~SfxModelGuard()1627 ~SfxModelGuard() 1628 { 1629 } 1630 reset()1631 void reset() 1632 { 1633 m_aGuard.reset(); 1634 } 1635 clear()1636 void clear() 1637 { 1638 m_aGuard.clear(); 1639 } 1640 1641 private: 1642 ::osl::ResettableGuard< ::vos::IMutex > m_aGuard; 1643 }; 1644 1645 #undef css 1646 1647 #endif // _SFX_SFXBASEMODEL_HXX_ 1648