1*cdf0e10cSrcweir /************************************************************************* 2*cdf0e10cSrcweir * 3*cdf0e10cSrcweir * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4*cdf0e10cSrcweir * 5*cdf0e10cSrcweir * Copyright 2000, 2010 Oracle and/or its affiliates. 6*cdf0e10cSrcweir * 7*cdf0e10cSrcweir * OpenOffice.org - a multi-platform office productivity suite 8*cdf0e10cSrcweir * 9*cdf0e10cSrcweir * This file is part of OpenOffice.org. 10*cdf0e10cSrcweir * 11*cdf0e10cSrcweir * OpenOffice.org is free software: you can redistribute it and/or modify 12*cdf0e10cSrcweir * it under the terms of the GNU Lesser General Public License version 3 13*cdf0e10cSrcweir * only, as published by the Free Software Foundation. 14*cdf0e10cSrcweir * 15*cdf0e10cSrcweir * OpenOffice.org is distributed in the hope that it will be useful, 16*cdf0e10cSrcweir * but WITHOUT ANY WARRANTY; without even the implied warranty of 17*cdf0e10cSrcweir * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18*cdf0e10cSrcweir * GNU Lesser General Public License version 3 for more details 19*cdf0e10cSrcweir * (a copy is included in the LICENSE file that accompanied this code). 20*cdf0e10cSrcweir * 21*cdf0e10cSrcweir * You should have received a copy of the GNU Lesser General Public License 22*cdf0e10cSrcweir * version 3 along with OpenOffice.org. If not, see 23*cdf0e10cSrcweir * <http://www.openoffice.org/license.html> 24*cdf0e10cSrcweir * for a copy of the LGPLv3 License. 25*cdf0e10cSrcweir * 26*cdf0e10cSrcweir ************************************************************************/ 27*cdf0e10cSrcweir 28*cdf0e10cSrcweir #ifndef _INC_COMMONEMBOBJ_HXX_ 29*cdf0e10cSrcweir #define _INC_COMMONEMBOBJ_HXX_ 30*cdf0e10cSrcweir 31*cdf0e10cSrcweir #include <com/sun/star/uno/Sequence.hxx> 32*cdf0e10cSrcweir #include <com/sun/star/uno/Reference.hxx> 33*cdf0e10cSrcweir #include <com/sun/star/uno/Any.hxx> 34*cdf0e10cSrcweir #include <com/sun/star/container/XChild.hpp> 35*cdf0e10cSrcweir #include <com/sun/star/document/XStorageBasedDocument.hpp> 36*cdf0e10cSrcweir #include <com/sun/star/embed/XEmbeddedObject.hpp> 37*cdf0e10cSrcweir #include <com/sun/star/embed/XVisualObject.hpp> 38*cdf0e10cSrcweir #include <com/sun/star/embed/XEmbedPersist.hpp> 39*cdf0e10cSrcweir #include <com/sun/star/embed/XLinkageSupport.hpp> 40*cdf0e10cSrcweir #include <com/sun/star/embed/XClassifiedObject.hpp> 41*cdf0e10cSrcweir #include <com/sun/star/embed/XComponentSupplier.hpp> 42*cdf0e10cSrcweir #include <com/sun/star/embed/XInplaceObject.hpp> 43*cdf0e10cSrcweir #include <com/sun/star/embed/XStateChangeBroadcaster.hpp> 44*cdf0e10cSrcweir #include <com/sun/star/awt/XWindow.hpp> 45*cdf0e10cSrcweir #include <com/sun/star/awt/Rectangle.hpp> 46*cdf0e10cSrcweir #include <com/sun/star/document/XEventBroadcaster.hpp> 47*cdf0e10cSrcweir #include <com/sun/star/util/XCloseable.hpp> 48*cdf0e10cSrcweir #include <com/sun/star/chart2/XDefaultSizeTransmitter.hpp> 49*cdf0e10cSrcweir #include <cppuhelper/weak.hxx> 50*cdf0e10cSrcweir 51*cdf0e10cSrcweir namespace com { namespace sun { namespace star { 52*cdf0e10cSrcweir namespace embed { 53*cdf0e10cSrcweir class XStorage; 54*cdf0e10cSrcweir } 55*cdf0e10cSrcweir namespace frame { 56*cdf0e10cSrcweir class XModel; 57*cdf0e10cSrcweir class XFrame; 58*cdf0e10cSrcweir } 59*cdf0e10cSrcweir namespace lang { 60*cdf0e10cSrcweir class XMultiServiceFactory; 61*cdf0e10cSrcweir } 62*cdf0e10cSrcweir namespace util { 63*cdf0e10cSrcweir class XCloseListener; 64*cdf0e10cSrcweir } 65*cdf0e10cSrcweir namespace beans { 66*cdf0e10cSrcweir struct PropertyValue; 67*cdf0e10cSrcweir struct NamedValue; 68*cdf0e10cSrcweir } 69*cdf0e10cSrcweir }}} 70*cdf0e10cSrcweir 71*cdf0e10cSrcweir namespace cppu { 72*cdf0e10cSrcweir class OMultiTypeInterfaceContainerHelper; 73*cdf0e10cSrcweir } 74*cdf0e10cSrcweir 75*cdf0e10cSrcweir namespace comphelper { 76*cdf0e10cSrcweir class NamedValueCollection; 77*cdf0e10cSrcweir } 78*cdf0e10cSrcweir 79*cdf0e10cSrcweir #define NUM_SUPPORTED_STATES 5 80*cdf0e10cSrcweir // #define NUM_SUPPORTED_VERBS 5 81*cdf0e10cSrcweir 82*cdf0e10cSrcweir #include "docholder.hxx" 83*cdf0e10cSrcweir 84*cdf0e10cSrcweir class Interceptor; 85*cdf0e10cSrcweir 86*cdf0e10cSrcweir class OCommonEmbeddedObject : public ::com::sun::star::embed::XEmbeddedObject 87*cdf0e10cSrcweir , public ::com::sun::star::embed::XEmbedPersist 88*cdf0e10cSrcweir , public ::com::sun::star::embed::XLinkageSupport 89*cdf0e10cSrcweir , public ::com::sun::star::embed::XInplaceObject 90*cdf0e10cSrcweir , public ::com::sun::star::container::XChild 91*cdf0e10cSrcweir , public ::com::sun::star::chart2::XDefaultSizeTransmitter 92*cdf0e10cSrcweir , public ::cppu::OWeakObject 93*cdf0e10cSrcweir { 94*cdf0e10cSrcweir protected: 95*cdf0e10cSrcweir ::osl::Mutex m_aMutex; 96*cdf0e10cSrcweir 97*cdf0e10cSrcweir DocumentHolder* m_pDocHolder; 98*cdf0e10cSrcweir 99*cdf0e10cSrcweir ::cppu::OMultiTypeInterfaceContainerHelper* m_pInterfaceContainer; 100*cdf0e10cSrcweir 101*cdf0e10cSrcweir sal_Bool m_bReadOnly; 102*cdf0e10cSrcweir 103*cdf0e10cSrcweir sal_Bool m_bDisposed; 104*cdf0e10cSrcweir sal_Bool m_bClosed; 105*cdf0e10cSrcweir 106*cdf0e10cSrcweir sal_Int32 m_nObjectState; 107*cdf0e10cSrcweir sal_Int32 m_nTargetState; // should be -1 exept during state changing 108*cdf0e10cSrcweir sal_Int32 m_nUpdateMode; 109*cdf0e10cSrcweir 110*cdf0e10cSrcweir ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > m_xFactory; 111*cdf0e10cSrcweir 112*cdf0e10cSrcweir ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > m_aDocMediaDescriptor; 113*cdf0e10cSrcweir 114*cdf0e10cSrcweir ::com::sun::star::uno::Sequence< sal_Int8 > m_aClassID; 115*cdf0e10cSrcweir ::rtl::OUString m_aClassName; 116*cdf0e10cSrcweir 117*cdf0e10cSrcweir ::rtl::OUString m_aDocServiceName; 118*cdf0e10cSrcweir ::rtl::OUString m_aPresetFilterName; 119*cdf0e10cSrcweir 120*cdf0e10cSrcweir sal_Int64 m_nMiscStatus; 121*cdf0e10cSrcweir 122*cdf0e10cSrcweir ::com::sun::star::uno::Sequence< ::com::sun::star::embed::VerbDescriptor > m_aObjectVerbs; 123*cdf0e10cSrcweir 124*cdf0e10cSrcweir ::com::sun::star::uno::Sequence< sal_Int32 > m_aAcceptedStates; 125*cdf0e10cSrcweir ::com::sun::star::uno::Sequence< sal_Int32 > m_pIntermediateStatesSeqs[NUM_SUPPORTED_STATES][NUM_SUPPORTED_STATES]; 126*cdf0e10cSrcweir ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Sequence< sal_Int32 > > m_aVerbTable; 127*cdf0e10cSrcweir 128*cdf0e10cSrcweir ::com::sun::star::uno::Reference< ::com::sun::star::embed::XEmbeddedClient > m_xClientSite; 129*cdf0e10cSrcweir 130*cdf0e10cSrcweir ::rtl::OUString m_aContainerName; 131*cdf0e10cSrcweir ::rtl::OUString m_aDefaultParentBaseURL; 132*cdf0e10cSrcweir ::rtl::OUString m_aModuleName; 133*cdf0e10cSrcweir sal_Bool m_bEmbeddedScriptSupport; 134*cdf0e10cSrcweir sal_Bool m_bDocumentRecoverySupport; 135*cdf0e10cSrcweir 136*cdf0e10cSrcweir Interceptor* m_pInterceptor; 137*cdf0e10cSrcweir 138*cdf0e10cSrcweir // following information will be used between SaveAs and SaveCompleted 139*cdf0e10cSrcweir sal_Bool m_bWaitSaveCompleted; 140*cdf0e10cSrcweir ::rtl::OUString m_aNewEntryName; 141*cdf0e10cSrcweir ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage > m_xNewParentStorage; 142*cdf0e10cSrcweir ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage > m_xNewObjectStorage; 143*cdf0e10cSrcweir ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > m_aNewDocMediaDescriptor; 144*cdf0e10cSrcweir 145*cdf0e10cSrcweir ::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindow > m_xClientWindow; // ??? 146*cdf0e10cSrcweir ::com::sun::star::awt::Rectangle m_aOwnRectangle; 147*cdf0e10cSrcweir ::com::sun::star::awt::Rectangle m_aClipRectangle; 148*cdf0e10cSrcweir 149*cdf0e10cSrcweir sal_Bool m_bIsLink; 150*cdf0e10cSrcweir 151*cdf0e10cSrcweir // embedded object related stuff 152*cdf0e10cSrcweir ::rtl::OUString m_aEntryName; 153*cdf0e10cSrcweir ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage > m_xParentStorage; 154*cdf0e10cSrcweir ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage > m_xObjectStorage; 155*cdf0e10cSrcweir ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage > m_xRecoveryStorage; 156*cdf0e10cSrcweir 157*cdf0e10cSrcweir // link related stuff 158*cdf0e10cSrcweir ::rtl::OUString m_aLinkURL; 159*cdf0e10cSrcweir ::rtl::OUString m_aLinkFilterName; 160*cdf0e10cSrcweir sal_Bool m_bLinkHasPassword; 161*cdf0e10cSrcweir ::rtl::OUString m_aLinkPassword; 162*cdf0e10cSrcweir 163*cdf0e10cSrcweir ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > m_xParent; 164*cdf0e10cSrcweir 165*cdf0e10cSrcweir sal_Bool m_bHasClonedSize; // the object has cached size 166*cdf0e10cSrcweir ::com::sun::star::awt::Size m_aClonedSize; 167*cdf0e10cSrcweir sal_Int32 m_nClonedMapUnit; 168*cdf0e10cSrcweir ::com::sun::star::awt::Size m_aDefaultSizeForChart_In_100TH_MM;//#i103460# charts do not necessaryly have an own size within ODF files, in this case they need to use the size settings from the surrounding frame, which is made available with this member 169*cdf0e10cSrcweir 170*cdf0e10cSrcweir private: 171*cdf0e10cSrcweir void CommonInit_Impl( const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::NamedValue >& aObjectProps ); 172*cdf0e10cSrcweir 173*cdf0e10cSrcweir void LinkInit_Impl( const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::NamedValue >& aObjectProps, 174*cdf0e10cSrcweir const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& aMediaDescr, 175*cdf0e10cSrcweir const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& aObjectDescr ); 176*cdf0e10cSrcweir 177*cdf0e10cSrcweir 178*cdf0e10cSrcweir void SwitchOwnPersistence( 179*cdf0e10cSrcweir const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >& xNewParentStorage, 180*cdf0e10cSrcweir const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >& xNewObjectStorage, 181*cdf0e10cSrcweir const ::rtl::OUString& aNewName ); 182*cdf0e10cSrcweir 183*cdf0e10cSrcweir void SwitchOwnPersistence( 184*cdf0e10cSrcweir const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >& xNewParentStorage, 185*cdf0e10cSrcweir const ::rtl::OUString& aNewName ); 186*cdf0e10cSrcweir 187*cdf0e10cSrcweir ::rtl::OUString GetDocumentServiceName() const { return m_aDocServiceName; } 188*cdf0e10cSrcweir ::rtl::OUString GetPresetFilterName() const { return m_aPresetFilterName; } 189*cdf0e10cSrcweir 190*cdf0e10cSrcweir ::com::sun::star::uno::Reference< ::com::sun::star::io::XInputStream > 191*cdf0e10cSrcweir StoreDocumentToTempStream_Impl( sal_Int32 nStorageFormat, 192*cdf0e10cSrcweir const ::rtl::OUString& aBaseURL, 193*cdf0e10cSrcweir const ::rtl::OUString& aHierarchName ); 194*cdf0e10cSrcweir 195*cdf0e10cSrcweir sal_Int32 ConvertVerbToState_Impl( sal_Int32 nVerb ); 196*cdf0e10cSrcweir 197*cdf0e10cSrcweir void Deactivate(); 198*cdf0e10cSrcweir 199*cdf0e10cSrcweir void StateChangeNotification_Impl( sal_Bool bBeforeChange, sal_Int32 nOldState, sal_Int32 nNewState,::osl::ResettableMutexGuard& _rGuard ); 200*cdf0e10cSrcweir 201*cdf0e10cSrcweir void SwitchStateTo_Impl( sal_Int32 nNextState ); 202*cdf0e10cSrcweir 203*cdf0e10cSrcweir ::com::sun::star::uno::Sequence< sal_Int32 > GetIntermediateStatesSequence_Impl( sal_Int32 nNewState ); 204*cdf0e10cSrcweir 205*cdf0e10cSrcweir ::rtl::OUString GetFilterName( sal_Int32 nVersion ) const; 206*cdf0e10cSrcweir ::com::sun::star::uno::Reference< ::com::sun::star::util::XCloseable > LoadDocumentFromStorage_Impl(); 207*cdf0e10cSrcweir 208*cdf0e10cSrcweir ::com::sun::star::uno::Reference< ::com::sun::star::util::XCloseable > LoadLink_Impl(); 209*cdf0e10cSrcweir 210*cdf0e10cSrcweir ::com::sun::star::uno::Reference< ::com::sun::star::util::XCloseable > InitNewDocument_Impl(); 211*cdf0e10cSrcweir 212*cdf0e10cSrcweir void StoreDocToStorage_Impl( const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >& xStorage, 213*cdf0e10cSrcweir sal_Int32 nStorageVersion, 214*cdf0e10cSrcweir const ::rtl::OUString& aBaseURL, 215*cdf0e10cSrcweir const ::rtl::OUString& aHierarchName, 216*cdf0e10cSrcweir sal_Bool bAttachToStorage ); 217*cdf0e10cSrcweir 218*cdf0e10cSrcweir void SwitchDocToStorage_Impl( 219*cdf0e10cSrcweir const ::com::sun::star::uno::Reference< ::com::sun::star::document::XStorageBasedDocument >& xDoc, 220*cdf0e10cSrcweir const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >& xStorage ); 221*cdf0e10cSrcweir 222*cdf0e10cSrcweir void FillDefaultLoadArgs_Impl( 223*cdf0e10cSrcweir const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >& i_rxStorage, 224*cdf0e10cSrcweir ::comphelper::NamedValueCollection& o_rLoadArgs 225*cdf0e10cSrcweir ) const; 226*cdf0e10cSrcweir 227*cdf0e10cSrcweir void EmbedAndReparentDoc_Impl( 228*cdf0e10cSrcweir const ::com::sun::star::uno::Reference< ::com::sun::star::util::XCloseable >& i_rxDocument 229*cdf0e10cSrcweir ) const; 230*cdf0e10cSrcweir 231*cdf0e10cSrcweir ::com::sun::star::uno::Reference< ::com::sun::star::util::XCloseable > CreateDocFromMediaDescr_Impl( 232*cdf0e10cSrcweir const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& aMedDescr ); 233*cdf0e10cSrcweir 234*cdf0e10cSrcweir ::com::sun::star::uno::Reference< ::com::sun::star::util::XCloseable > CreateTempDocFromLink_Impl(); 235*cdf0e10cSrcweir 236*cdf0e10cSrcweir ::rtl::OUString GetBaseURL_Impl() const; 237*cdf0e10cSrcweir ::rtl::OUString GetBaseURLFrom_Impl( 238*cdf0e10cSrcweir const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& lArguments, 239*cdf0e10cSrcweir const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& lObjArgs ); 240*cdf0e10cSrcweir 241*cdf0e10cSrcweir public: 242*cdf0e10cSrcweir OCommonEmbeddedObject( 243*cdf0e10cSrcweir const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& xFactory, 244*cdf0e10cSrcweir const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::NamedValue >& aObjectProps ); 245*cdf0e10cSrcweir 246*cdf0e10cSrcweir // no persistance for linked objects, so the descriptors are provided in constructor 247*cdf0e10cSrcweir OCommonEmbeddedObject( 248*cdf0e10cSrcweir const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& xFactory, 249*cdf0e10cSrcweir const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::NamedValue >& aObjectProps, 250*cdf0e10cSrcweir const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& aMediaDescr, 251*cdf0e10cSrcweir const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& aObjectDescr ); 252*cdf0e10cSrcweir 253*cdf0e10cSrcweir virtual ~OCommonEmbeddedObject(); 254*cdf0e10cSrcweir 255*cdf0e10cSrcweir void SaveObject_Impl(); 256*cdf0e10cSrcweir 257*cdf0e10cSrcweir void requestPositioning( const ::com::sun::star::awt::Rectangle& aRect ); 258*cdf0e10cSrcweir 259*cdf0e10cSrcweir // not a real listener and should not be 260*cdf0e10cSrcweir void PostEvent_Impl( const ::rtl::OUString& aEventName, 261*cdf0e10cSrcweir const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& xSource = 262*cdf0e10cSrcweir ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >() ); 263*cdf0e10cSrcweir 264*cdf0e10cSrcweir // XInterface 265*cdf0e10cSrcweir 266*cdf0e10cSrcweir virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type& rType ) 267*cdf0e10cSrcweir throw( ::com::sun::star::uno::RuntimeException ) ; 268*cdf0e10cSrcweir 269*cdf0e10cSrcweir virtual void SAL_CALL acquire() 270*cdf0e10cSrcweir throw(); 271*cdf0e10cSrcweir 272*cdf0e10cSrcweir virtual void SAL_CALL release() 273*cdf0e10cSrcweir throw(); 274*cdf0e10cSrcweir 275*cdf0e10cSrcweir // XTypeProvider 276*cdf0e10cSrcweir 277*cdf0e10cSrcweir virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() 278*cdf0e10cSrcweir throw( ::com::sun::star::uno::RuntimeException ) ; 279*cdf0e10cSrcweir 280*cdf0e10cSrcweir virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() 281*cdf0e10cSrcweir throw( ::com::sun::star::uno::RuntimeException ) ; 282*cdf0e10cSrcweir 283*cdf0e10cSrcweir // XEmbeddedObject 284*cdf0e10cSrcweir 285*cdf0e10cSrcweir virtual void SAL_CALL changeState( sal_Int32 nNewState ) 286*cdf0e10cSrcweir throw ( ::com::sun::star::embed::UnreachableStateException, 287*cdf0e10cSrcweir ::com::sun::star::embed::WrongStateException, 288*cdf0e10cSrcweir ::com::sun::star::uno::Exception, 289*cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException ); 290*cdf0e10cSrcweir 291*cdf0e10cSrcweir virtual ::com::sun::star::uno::Sequence< sal_Int32 > SAL_CALL getReachableStates() 292*cdf0e10cSrcweir throw ( ::com::sun::star::embed::WrongStateException, 293*cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException ); 294*cdf0e10cSrcweir 295*cdf0e10cSrcweir virtual sal_Int32 SAL_CALL getCurrentState() 296*cdf0e10cSrcweir throw ( ::com::sun::star::embed::WrongStateException, 297*cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException ); 298*cdf0e10cSrcweir 299*cdf0e10cSrcweir virtual void SAL_CALL doVerb( sal_Int32 nVerbID ) 300*cdf0e10cSrcweir throw ( ::com::sun::star::lang::IllegalArgumentException, 301*cdf0e10cSrcweir ::com::sun::star::embed::WrongStateException, 302*cdf0e10cSrcweir ::com::sun::star::embed::UnreachableStateException, 303*cdf0e10cSrcweir ::com::sun::star::uno::Exception, 304*cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException ); 305*cdf0e10cSrcweir 306*cdf0e10cSrcweir virtual ::com::sun::star::uno::Sequence< ::com::sun::star::embed::VerbDescriptor > SAL_CALL getSupportedVerbs() 307*cdf0e10cSrcweir throw ( ::com::sun::star::embed::WrongStateException, 308*cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException ); 309*cdf0e10cSrcweir 310*cdf0e10cSrcweir virtual void SAL_CALL setClientSite( 311*cdf0e10cSrcweir const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XEmbeddedClient >& xClient ) 312*cdf0e10cSrcweir throw ( ::com::sun::star::embed::WrongStateException, 313*cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException ); 314*cdf0e10cSrcweir 315*cdf0e10cSrcweir virtual ::com::sun::star::uno::Reference< ::com::sun::star::embed::XEmbeddedClient > SAL_CALL getClientSite() 316*cdf0e10cSrcweir throw ( ::com::sun::star::embed::WrongStateException, 317*cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException ); 318*cdf0e10cSrcweir 319*cdf0e10cSrcweir virtual void SAL_CALL update() 320*cdf0e10cSrcweir throw ( ::com::sun::star::embed::WrongStateException, 321*cdf0e10cSrcweir ::com::sun::star::uno::Exception, 322*cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException ); 323*cdf0e10cSrcweir 324*cdf0e10cSrcweir virtual void SAL_CALL setUpdateMode( sal_Int32 nMode ) 325*cdf0e10cSrcweir throw ( ::com::sun::star::embed::WrongStateException, 326*cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException ); 327*cdf0e10cSrcweir 328*cdf0e10cSrcweir virtual sal_Int64 SAL_CALL getStatus( sal_Int64 nAspect ) 329*cdf0e10cSrcweir throw ( ::com::sun::star::embed::WrongStateException, 330*cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException ); 331*cdf0e10cSrcweir 332*cdf0e10cSrcweir virtual void SAL_CALL setContainerName( const ::rtl::OUString& sName ) 333*cdf0e10cSrcweir throw ( ::com::sun::star::uno::RuntimeException ); 334*cdf0e10cSrcweir 335*cdf0e10cSrcweir 336*cdf0e10cSrcweir // XVisualObject 337*cdf0e10cSrcweir 338*cdf0e10cSrcweir virtual void SAL_CALL setVisualAreaSize( sal_Int64 nAspect, const ::com::sun::star::awt::Size& aSize ) 339*cdf0e10cSrcweir throw ( ::com::sun::star::lang::IllegalArgumentException, 340*cdf0e10cSrcweir ::com::sun::star::embed::WrongStateException, 341*cdf0e10cSrcweir ::com::sun::star::uno::Exception, 342*cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException ); 343*cdf0e10cSrcweir 344*cdf0e10cSrcweir virtual ::com::sun::star::awt::Size SAL_CALL getVisualAreaSize( sal_Int64 nAspect ) 345*cdf0e10cSrcweir throw ( ::com::sun::star::lang::IllegalArgumentException, 346*cdf0e10cSrcweir ::com::sun::star::embed::WrongStateException, 347*cdf0e10cSrcweir ::com::sun::star::uno::Exception, 348*cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException ); 349*cdf0e10cSrcweir 350*cdf0e10cSrcweir virtual ::com::sun::star::embed::VisualRepresentation SAL_CALL getPreferredVisualRepresentation( ::sal_Int64 nAspect ) 351*cdf0e10cSrcweir throw ( ::com::sun::star::lang::IllegalArgumentException, 352*cdf0e10cSrcweir ::com::sun::star::embed::WrongStateException, 353*cdf0e10cSrcweir ::com::sun::star::uno::Exception, 354*cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException ); 355*cdf0e10cSrcweir 356*cdf0e10cSrcweir virtual sal_Int32 SAL_CALL getMapUnit( sal_Int64 nAspect ) 357*cdf0e10cSrcweir throw ( ::com::sun::star::uno::Exception, 358*cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException); 359*cdf0e10cSrcweir 360*cdf0e10cSrcweir // XEmbedPersist 361*cdf0e10cSrcweir 362*cdf0e10cSrcweir virtual void SAL_CALL setPersistentEntry( 363*cdf0e10cSrcweir const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >& xStorage, 364*cdf0e10cSrcweir const ::rtl::OUString& sEntName, 365*cdf0e10cSrcweir sal_Int32 nEntryConnectionMode, 366*cdf0e10cSrcweir const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& lArguments, 367*cdf0e10cSrcweir const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& lObjArgs ) 368*cdf0e10cSrcweir throw ( ::com::sun::star::lang::IllegalArgumentException, 369*cdf0e10cSrcweir ::com::sun::star::embed::WrongStateException, 370*cdf0e10cSrcweir ::com::sun::star::io::IOException, 371*cdf0e10cSrcweir ::com::sun::star::uno::Exception, 372*cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException ); 373*cdf0e10cSrcweir 374*cdf0e10cSrcweir virtual void SAL_CALL storeToEntry( const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >& xStorage, const ::rtl::OUString& sEntName, const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& lArguments, const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& lObjArgs ) 375*cdf0e10cSrcweir throw ( ::com::sun::star::lang::IllegalArgumentException, 376*cdf0e10cSrcweir ::com::sun::star::embed::WrongStateException, 377*cdf0e10cSrcweir ::com::sun::star::io::IOException, 378*cdf0e10cSrcweir ::com::sun::star::uno::Exception, 379*cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException ); 380*cdf0e10cSrcweir 381*cdf0e10cSrcweir virtual void SAL_CALL storeAsEntry( 382*cdf0e10cSrcweir const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >& xStorage, 383*cdf0e10cSrcweir const ::rtl::OUString& sEntName, 384*cdf0e10cSrcweir const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& lArguments, 385*cdf0e10cSrcweir const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& lObjArgs ) 386*cdf0e10cSrcweir throw ( ::com::sun::star::lang::IllegalArgumentException, 387*cdf0e10cSrcweir ::com::sun::star::embed::WrongStateException, 388*cdf0e10cSrcweir ::com::sun::star::io::IOException, 389*cdf0e10cSrcweir ::com::sun::star::uno::Exception, 390*cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException ); 391*cdf0e10cSrcweir 392*cdf0e10cSrcweir virtual void SAL_CALL saveCompleted( sal_Bool bUseNew ) 393*cdf0e10cSrcweir throw ( ::com::sun::star::embed::WrongStateException, 394*cdf0e10cSrcweir ::com::sun::star::uno::Exception, 395*cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException ); 396*cdf0e10cSrcweir 397*cdf0e10cSrcweir virtual sal_Bool SAL_CALL hasEntry() 398*cdf0e10cSrcweir throw ( ::com::sun::star::embed::WrongStateException, 399*cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException ); 400*cdf0e10cSrcweir 401*cdf0e10cSrcweir virtual ::rtl::OUString SAL_CALL getEntryName() 402*cdf0e10cSrcweir throw ( ::com::sun::star::embed::WrongStateException, 403*cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException ); 404*cdf0e10cSrcweir 405*cdf0e10cSrcweir // XLinkageSupport 406*cdf0e10cSrcweir 407*cdf0e10cSrcweir virtual void SAL_CALL breakLink( const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >& xStorage, 408*cdf0e10cSrcweir const ::rtl::OUString& sEntName ) 409*cdf0e10cSrcweir throw ( ::com::sun::star::lang::IllegalArgumentException, 410*cdf0e10cSrcweir ::com::sun::star::embed::WrongStateException, 411*cdf0e10cSrcweir ::com::sun::star::io::IOException, 412*cdf0e10cSrcweir ::com::sun::star::uno::Exception, 413*cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException ); 414*cdf0e10cSrcweir 415*cdf0e10cSrcweir virtual sal_Bool SAL_CALL isLink() 416*cdf0e10cSrcweir throw ( ::com::sun::star::embed::WrongStateException, 417*cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException); 418*cdf0e10cSrcweir 419*cdf0e10cSrcweir virtual ::rtl::OUString SAL_CALL getLinkURL() 420*cdf0e10cSrcweir throw ( ::com::sun::star::embed::WrongStateException, 421*cdf0e10cSrcweir ::com::sun::star::uno::Exception, 422*cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException); 423*cdf0e10cSrcweir 424*cdf0e10cSrcweir 425*cdf0e10cSrcweir // XCommonEmbedPersist 426*cdf0e10cSrcweir 427*cdf0e10cSrcweir virtual void SAL_CALL storeOwn() 428*cdf0e10cSrcweir throw ( ::com::sun::star::embed::WrongStateException, 429*cdf0e10cSrcweir ::com::sun::star::io::IOException, 430*cdf0e10cSrcweir ::com::sun::star::uno::Exception, 431*cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException ); 432*cdf0e10cSrcweir 433*cdf0e10cSrcweir virtual sal_Bool SAL_CALL isReadonly() 434*cdf0e10cSrcweir throw ( ::com::sun::star::embed::WrongStateException, 435*cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException ); 436*cdf0e10cSrcweir 437*cdf0e10cSrcweir virtual void SAL_CALL reload( 438*cdf0e10cSrcweir const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& lArguments, 439*cdf0e10cSrcweir const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& lObjArgs ) 440*cdf0e10cSrcweir throw ( ::com::sun::star::lang::IllegalArgumentException, 441*cdf0e10cSrcweir ::com::sun::star::embed::WrongStateException, 442*cdf0e10cSrcweir ::com::sun::star::io::IOException, 443*cdf0e10cSrcweir ::com::sun::star::uno::Exception, 444*cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException ); 445*cdf0e10cSrcweir 446*cdf0e10cSrcweir 447*cdf0e10cSrcweir // XInplaceObject 448*cdf0e10cSrcweir 449*cdf0e10cSrcweir virtual void SAL_CALL setObjectRectangles( const ::com::sun::star::awt::Rectangle& aPosRect, 450*cdf0e10cSrcweir const ::com::sun::star::awt::Rectangle& aClipRect ) 451*cdf0e10cSrcweir throw ( ::com::sun::star::embed::WrongStateException, 452*cdf0e10cSrcweir ::com::sun::star::uno::Exception, 453*cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException ); 454*cdf0e10cSrcweir 455*cdf0e10cSrcweir virtual void SAL_CALL enableModeless( sal_Bool bEnable ) 456*cdf0e10cSrcweir throw ( ::com::sun::star::embed::WrongStateException, 457*cdf0e10cSrcweir ::com::sun::star::uno::Exception, 458*cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException ); 459*cdf0e10cSrcweir 460*cdf0e10cSrcweir virtual void SAL_CALL translateAccelerators( 461*cdf0e10cSrcweir const ::com::sun::star::uno::Sequence< ::com::sun::star::awt::KeyEvent >& aKeys ) 462*cdf0e10cSrcweir throw ( ::com::sun::star::embed::WrongStateException, 463*cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException ); 464*cdf0e10cSrcweir 465*cdf0e10cSrcweir // XClassifiedObject 466*cdf0e10cSrcweir 467*cdf0e10cSrcweir virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getClassID() 468*cdf0e10cSrcweir throw ( ::com::sun::star::uno::RuntimeException ); 469*cdf0e10cSrcweir 470*cdf0e10cSrcweir virtual ::rtl::OUString SAL_CALL getClassName() 471*cdf0e10cSrcweir throw ( ::com::sun::star::uno::RuntimeException ); 472*cdf0e10cSrcweir 473*cdf0e10cSrcweir virtual void SAL_CALL setClassInfo( 474*cdf0e10cSrcweir const ::com::sun::star::uno::Sequence< sal_Int8 >& aClassID, const ::rtl::OUString& aClassName ) 475*cdf0e10cSrcweir throw ( ::com::sun::star::lang::NoSupportException, 476*cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException ); 477*cdf0e10cSrcweir 478*cdf0e10cSrcweir 479*cdf0e10cSrcweir // XComponentSupplier 480*cdf0e10cSrcweir 481*cdf0e10cSrcweir virtual ::com::sun::star::uno::Reference< ::com::sun::star::util::XCloseable > SAL_CALL getComponent() 482*cdf0e10cSrcweir throw ( ::com::sun::star::uno::RuntimeException ); 483*cdf0e10cSrcweir 484*cdf0e10cSrcweir // XStateChangeBroadcaster 485*cdf0e10cSrcweir virtual void SAL_CALL addStateChangeListener( const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStateChangeListener >& xListener ) throw (::com::sun::star::uno::RuntimeException); 486*cdf0e10cSrcweir virtual void SAL_CALL removeStateChangeListener( const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStateChangeListener >& xListener ) throw (::com::sun::star::uno::RuntimeException); 487*cdf0e10cSrcweir 488*cdf0e10cSrcweir // XCloseable 489*cdf0e10cSrcweir 490*cdf0e10cSrcweir virtual void SAL_CALL close( sal_Bool DeliverOwnership ) 491*cdf0e10cSrcweir throw ( ::com::sun::star::util::CloseVetoException, 492*cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException ); 493*cdf0e10cSrcweir 494*cdf0e10cSrcweir virtual void SAL_CALL addCloseListener( 495*cdf0e10cSrcweir const ::com::sun::star::uno::Reference< ::com::sun::star::util::XCloseListener >& Listener ) 496*cdf0e10cSrcweir throw ( ::com::sun::star::uno::RuntimeException ); 497*cdf0e10cSrcweir 498*cdf0e10cSrcweir virtual void SAL_CALL removeCloseListener( 499*cdf0e10cSrcweir const ::com::sun::star::uno::Reference< ::com::sun::star::util::XCloseListener >& Listener ) 500*cdf0e10cSrcweir throw ( ::com::sun::star::uno::RuntimeException ); 501*cdf0e10cSrcweir 502*cdf0e10cSrcweir // XEventBroadcaster 503*cdf0e10cSrcweir virtual void SAL_CALL addEventListener( 504*cdf0e10cSrcweir const ::com::sun::star::uno::Reference< ::com::sun::star::document::XEventListener >& Listener ) 505*cdf0e10cSrcweir throw ( ::com::sun::star::uno::RuntimeException ); 506*cdf0e10cSrcweir 507*cdf0e10cSrcweir virtual void SAL_CALL removeEventListener( 508*cdf0e10cSrcweir const ::com::sun::star::uno::Reference< ::com::sun::star::document::XEventListener >& Listener ) 509*cdf0e10cSrcweir throw ( ::com::sun::star::uno::RuntimeException ); 510*cdf0e10cSrcweir 511*cdf0e10cSrcweir // XChild 512*cdf0e10cSrcweir virtual ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL getParent( ) throw (::com::sun::star::uno::RuntimeException); 513*cdf0e10cSrcweir virtual void SAL_CALL setParent( const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& Parent ) throw (::com::sun::star::lang::NoSupportException, ::com::sun::star::uno::RuntimeException); 514*cdf0e10cSrcweir 515*cdf0e10cSrcweir // XDefaultSizeTransmitter 516*cdf0e10cSrcweir //#i103460# charts do not necessaryly have an own size within ODF files, in this case they need to use the size settings from the surrounding frame, which is made available with this method 517*cdf0e10cSrcweir virtual void SAL_CALL setDefaultSize( const ::com::sun::star::awt::Size& rSize_100TH_MM ) throw (::com::sun::star::uno::RuntimeException); 518*cdf0e10cSrcweir }; 519*cdf0e10cSrcweir 520*cdf0e10cSrcweir #endif 521*cdf0e10cSrcweir 522