1f8e07b45SAndrew Rist /************************************************************** 2cdf0e10cSrcweir * 3f8e07b45SAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one 4f8e07b45SAndrew Rist * or more contributor license agreements. See the NOTICE file 5f8e07b45SAndrew Rist * distributed with this work for additional information 6f8e07b45SAndrew Rist * regarding copyright ownership. The ASF licenses this file 7f8e07b45SAndrew Rist * to you under the Apache License, Version 2.0 (the 8f8e07b45SAndrew Rist * "License"); you may not use this file except in compliance 9f8e07b45SAndrew Rist * with the License. You may obtain a copy of the License at 10f8e07b45SAndrew Rist * 11f8e07b45SAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0 12f8e07b45SAndrew Rist * 13f8e07b45SAndrew Rist * Unless required by applicable law or agreed to in writing, 14f8e07b45SAndrew Rist * software distributed under the License is distributed on an 15f8e07b45SAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16f8e07b45SAndrew Rist * KIND, either express or implied. See the License for the 17f8e07b45SAndrew Rist * specific language governing permissions and limitations 18f8e07b45SAndrew Rist * under the License. 19f8e07b45SAndrew Rist * 20f8e07b45SAndrew Rist *************************************************************/ 21f8e07b45SAndrew Rist 22f8e07b45SAndrew Rist 23cdf0e10cSrcweir 24cdf0e10cSrcweir #ifndef __FRAMEWORK_SERVICES_PLUGINFRAME_HXX_ 25cdf0e10cSrcweir #define __FRAMEWORK_SERVICES_PLUGINFRAME_HXX_ 26cdf0e10cSrcweir 27cdf0e10cSrcweir //_________________________________________________________________________________________________________________ 28cdf0e10cSrcweir // my own includes 29cdf0e10cSrcweir //_________________________________________________________________________________________________________________ 30cdf0e10cSrcweir 31cdf0e10cSrcweir #include <services/frame.hxx> 32cdf0e10cSrcweir 33cdf0e10cSrcweir //_________________________________________________________________________________________________________________ 34cdf0e10cSrcweir // interface includes 35cdf0e10cSrcweir //_________________________________________________________________________________________________________________ 36cdf0e10cSrcweir #include <com/sun/star/mozilla/XPluginInstance.hpp> 37cdf0e10cSrcweir #include <com/sun/star/mozilla/XPluginInstancePeer.hpp> 38cdf0e10cSrcweir #include <com/sun/star/mozilla/XPluginWindowPeer.hpp> 39cdf0e10cSrcweir #include <com/sun/star/io/XInputStream.hpp> 40cdf0e10cSrcweir #include <com/sun/star/lang/XInitialization.hpp> 41cdf0e10cSrcweir #include <com/sun/star/awt/XWindow.hpp> 42cdf0e10cSrcweir #include <com/sun/star/frame/XDispatchResultListener.hpp> 43cdf0e10cSrcweir #include <com/sun/star/frame/FeatureStateEvent.hpp> 44cdf0e10cSrcweir #include <com/sun/star/lang/EventObject.hpp> 45cdf0e10cSrcweir 46cdf0e10cSrcweir //_________________________________________________________________________________________________________________ 47cdf0e10cSrcweir // other includes 48cdf0e10cSrcweir //_________________________________________________________________________________________________________________ 49cdf0e10cSrcweir 50cdf0e10cSrcweir #ifndef _VCL_ATOM_HXX 51cdf0e10cSrcweir #include <vcl/threadex.hxx> 52cdf0e10cSrcweir #endif 53cdf0e10cSrcweir #include <unotools/cmdoptions.hxx> 54cdf0e10cSrcweir 55cdf0e10cSrcweir 56cdf0e10cSrcweir //_________________________________________________________________________________________________________________ 57cdf0e10cSrcweir // namespace 58cdf0e10cSrcweir //_________________________________________________________________________________________________________________ 59cdf0e10cSrcweir 60cdf0e10cSrcweir namespace framework{ 61cdf0e10cSrcweir 62cdf0e10cSrcweir //_________________________________________________________________________________________________________________ 63cdf0e10cSrcweir // exported const 64cdf0e10cSrcweir //_________________________________________________________________________________________________________________ 65cdf0e10cSrcweir 66cdf0e10cSrcweir //_________________________________________________________________________________________________________________ 67cdf0e10cSrcweir // exported definitions 68cdf0e10cSrcweir //_________________________________________________________________________________________________________________ 69cdf0e10cSrcweir 70cdf0e10cSrcweir /*-************************************************************************************************************//** 71cdf0e10cSrcweir @short implements an special frame - a plugin frame 72cdf0e10cSrcweir @descr - 73cdf0e10cSrcweir 74cdf0e10cSrcweir @implements XInitialization 75cdf0e10cSrcweir XPluginInstance 76cdf0e10cSrcweir XDispatchResultListener 77cdf0e10cSrcweir @base Frame 78cdf0e10cSrcweir *//*-*************************************************************************************************************/ 79cdf0e10cSrcweir 80cdf0e10cSrcweir class PlugInFrame : public css::lang::XInitialization , 81cdf0e10cSrcweir public css::mozilla::XPluginInstance , 82cdf0e10cSrcweir public css::frame::XDispatchResultListener , // => XEVENTLISTENER 8307a3d7f1SPedro Giffuni public Frame // Order of baseclasses is necessary for right initialization! 84cdf0e10cSrcweir { 85cdf0e10cSrcweir //------------------------------------------------------------------------------------------------------------- 86cdf0e10cSrcweir // public methods 87cdf0e10cSrcweir //------------------------------------------------------------------------------------------------------------- 88cdf0e10cSrcweir 89cdf0e10cSrcweir public: 90cdf0e10cSrcweir 91cdf0e10cSrcweir //--------------------------------------------------------------------------------------------------------- 92cdf0e10cSrcweir // constructor / destructor 93cdf0e10cSrcweir //--------------------------------------------------------------------------------------------------------- 94cdf0e10cSrcweir 95cdf0e10cSrcweir /*-****************************************************************************************************//** 96cdf0e10cSrcweir @short standard constructor to create instance 97cdf0e10cSrcweir @descr This constructor initialize a new instance of this class, 98cdf0e10cSrcweir and will be set valid values on his member and baseclasses. 99cdf0e10cSrcweir 100cdf0e10cSrcweir @seealso - 101cdf0e10cSrcweir 102cdf0e10cSrcweir @param - 103cdf0e10cSrcweir @return - 104cdf0e10cSrcweir 105cdf0e10cSrcweir @onerror - 106cdf0e10cSrcweir *//*-*****************************************************************************************************/ 107cdf0e10cSrcweir 108cdf0e10cSrcweir PlugInFrame( const css::uno::Reference< css::lang::XMultiServiceFactory >& xFactory ); 109cdf0e10cSrcweir 110cdf0e10cSrcweir /*-****************************************************************************************************//** 111cdf0e10cSrcweir @short standard destructor 112cdf0e10cSrcweir @descr This method destruct an instance of this class and clear some member. 113cdf0e10cSrcweir 114cdf0e10cSrcweir @seealso - 115cdf0e10cSrcweir 116cdf0e10cSrcweir @param - 117cdf0e10cSrcweir @return - 118cdf0e10cSrcweir 119cdf0e10cSrcweir @onerror - 120cdf0e10cSrcweir *//*-*****************************************************************************************************/ 121cdf0e10cSrcweir 122cdf0e10cSrcweir virtual ~PlugInFrame(); 123cdf0e10cSrcweir 124cdf0e10cSrcweir //--------------------------------------------------------------------------------------------------------- 125cdf0e10cSrcweir // XInterface, XTypeProvider, XServiceInfo 126cdf0e10cSrcweir //--------------------------------------------------------------------------------------------------------- 127cdf0e10cSrcweir 128cdf0e10cSrcweir DECLARE_XINTERFACE 129cdf0e10cSrcweir DECLARE_XTYPEPROVIDER 130cdf0e10cSrcweir DECLARE_XSERVICEINFO 131cdf0e10cSrcweir 132cdf0e10cSrcweir //--------------------------------------------------------------------------------------------------------- 133cdf0e10cSrcweir // XInitialization 134cdf0e10cSrcweir //--------------------------------------------------------------------------------------------------------- 135cdf0e10cSrcweir 136cdf0e10cSrcweir void SAL_CALL initialize( const css::uno::Sequence< css::uno::Any >& seqArguments ) throw( css::uno::Exception , 137cdf0e10cSrcweir css::uno::RuntimeException ); 138cdf0e10cSrcweir 139cdf0e10cSrcweir //--------------------------------------------------------------------------------------------------------- 140cdf0e10cSrcweir // XPluginInstance 141cdf0e10cSrcweir //--------------------------------------------------------------------------------------------------------- 142cdf0e10cSrcweir 143cdf0e10cSrcweir void SAL_CALL start () throw( css::uno::RuntimeException ); 144cdf0e10cSrcweir void SAL_CALL implcb_start () throw( css::uno::RuntimeException ); 145cdf0e10cSrcweir void SAL_CALL stop () throw( css::uno::RuntimeException ); 146cdf0e10cSrcweir void SAL_CALL implcb_stop () throw( css::uno::RuntimeException ); 147cdf0e10cSrcweir void SAL_CALL destroy () throw( css::uno::RuntimeException ); 148cdf0e10cSrcweir void SAL_CALL implcb_destroy() throw( css::uno::RuntimeException ); 149cdf0e10cSrcweir void SAL_CALL createWindow ( const css::uno::Any& aPlatformWindowHandle , 150cdf0e10cSrcweir sal_Bool bEmbedded ) throw( css::uno::RuntimeException ); 151cdf0e10cSrcweir void SAL_CALL implcb_createWindow ( const css::uno::Any& aPlatformWindowHandle , 152cdf0e10cSrcweir sal_Bool bEmbedded ) throw( css::uno::RuntimeException ); 153cdf0e10cSrcweir void SAL_CALL newStream ( const ::rtl::OUString& sMIMEDescription, 154cdf0e10cSrcweir const ::rtl::OUString& sURL , 155cdf0e10cSrcweir const ::rtl::OUString& sFilter , 156cdf0e10cSrcweir const css::uno::Reference< css::io::XInputStream >& xStream , 157cdf0e10cSrcweir const css::uno::Any& aSessionId ) throw( css::uno::RuntimeException ); 158cdf0e10cSrcweir void SAL_CALL implcb_newStream 159cdf0e10cSrcweir ( const ::rtl::OUString& sMIMEDescription, 160cdf0e10cSrcweir const ::rtl::OUString& sURL , 161cdf0e10cSrcweir const ::rtl::OUString& sFilter , 162cdf0e10cSrcweir const css::uno::Reference< css::io::XInputStream >& xStream , 163cdf0e10cSrcweir const css::uno::Any& aSessionId ) throw( css::uno::RuntimeException ); 164cdf0e10cSrcweir void SAL_CALL newURL ( const ::rtl::OUString& sMIMEDescription, 165cdf0e10cSrcweir const ::rtl::OUString& sURL , 166cdf0e10cSrcweir const ::rtl::OUString& sFilter , 167cdf0e10cSrcweir const css::uno::Any& aSessionId ) throw( css::uno::RuntimeException ); 168cdf0e10cSrcweir void SAL_CALL implcb_newURL ( const ::rtl::OUString& sMIMEDescription, 169cdf0e10cSrcweir const ::rtl::OUString& sURL , 170cdf0e10cSrcweir const ::rtl::OUString& sFilter , 171cdf0e10cSrcweir const css::uno::Any& aSessionId ) throw( css::uno::RuntimeException ); 172cdf0e10cSrcweir virtual void SAL_CALL getHttpServerURL( ::rtl::OUString& sHost , 173cdf0e10cSrcweir sal_uInt16& nPort , 174cdf0e10cSrcweir ::rtl::OUString& sPrefix ) throw( css::uno::RuntimeException ); 175cdf0e10cSrcweir 176cdf0e10cSrcweir //--------------------------------------------------------------------------------------------------------- 177cdf0e10cSrcweir // XDispatchProvider 178cdf0e10cSrcweir //--------------------------------------------------------------------------------------------------------- 179cdf0e10cSrcweir 180cdf0e10cSrcweir virtual css::uno::Reference< css::frame::XDispatch > SAL_CALL queryDispatch( const css::util::URL& aURL , 181cdf0e10cSrcweir const ::rtl::OUString& sTargetFrameName, 182cdf0e10cSrcweir sal_Int32 nSearchFlags ) throw( css::uno::RuntimeException ); 183cdf0e10cSrcweir virtual css::uno::Sequence< css::uno::Reference< css::frame::XDispatch > > SAL_CALL queryDispatches( const css::uno::Sequence< css::frame::DispatchDescriptor >& seqDescripts ) throw( css::uno::RuntimeException ); 184cdf0e10cSrcweir 185cdf0e10cSrcweir //--------------------------------------------------------------------------------------------------------- 186cdf0e10cSrcweir // XDispatchResultListener 187cdf0e10cSrcweir //--------------------------------------------------------------------------------------------------------- 188cdf0e10cSrcweir 189cdf0e10cSrcweir virtual void SAL_CALL dispatchFinished ( const css::frame::DispatchResultEvent& aEvent ) throw( css::uno::RuntimeException ); 190cdf0e10cSrcweir 191cdf0e10cSrcweir //--------------------------------------------------------------------------------------------------------- 192cdf0e10cSrcweir // XEventListener 193cdf0e10cSrcweir //--------------------------------------------------------------------------------------------------------- 194cdf0e10cSrcweir 195cdf0e10cSrcweir void SAL_CALL disposing( const css::lang::EventObject& aEvent ) throw( css::uno::RuntimeException ); 196cdf0e10cSrcweir 197cdf0e10cSrcweir //------------------------------------------------------------------------------------------------------------- 198cdf0e10cSrcweir // protected methods 199cdf0e10cSrcweir //------------------------------------------------------------------------------------------------------------- 200cdf0e10cSrcweir 201cdf0e10cSrcweir protected: 202cdf0e10cSrcweir 203cdf0e10cSrcweir //------------------------------------------------------------------------------------------------------------- 204cdf0e10cSrcweir // private methods 205cdf0e10cSrcweir //------------------------------------------------------------------------------------------------------------- 206cdf0e10cSrcweir 207cdf0e10cSrcweir private: 208cdf0e10cSrcweir 209cdf0e10cSrcweir void impl_tryToLoadDocument(); 210cdf0e10cSrcweir sal_Bool impl_registerRemoteFactories( const css::uno::Reference< css::lang::XMultiServiceFactory >& xRemoteServiceManager ); 211cdf0e10cSrcweir 212cdf0e10cSrcweir //------------------------------------------------------------------------------------------------------------- 213cdf0e10cSrcweir // debug methods 214cdf0e10cSrcweir // (should be private everyway!) 215cdf0e10cSrcweir //------------------------------------------------------------------------------------------------------------- 216cdf0e10cSrcweir 217cdf0e10cSrcweir /*-****************************************************************************************************//** 218cdf0e10cSrcweir @short debug-method to check incoming parameter of some other mehods of this class 219cdf0e10cSrcweir @descr The following methods are used to check parameters for other methods 220cdf0e10cSrcweir of this class. The return value is used directly for an ASSERT(...). 221cdf0e10cSrcweir 222cdf0e10cSrcweir @seealso ASSERTs in implementation! 223cdf0e10cSrcweir 224cdf0e10cSrcweir @param references to checking variables 225cdf0e10cSrcweir @return sal_False on invalid parameter<BR> 226cdf0e10cSrcweir sal_True otherway 227cdf0e10cSrcweir 228cdf0e10cSrcweir @onerror - 229cdf0e10cSrcweir *//*-*****************************************************************************************************/ 230cdf0e10cSrcweir 231cdf0e10cSrcweir #ifdef ENABLE_ASSERTIONS 232cdf0e10cSrcweir 233cdf0e10cSrcweir private: 234cdf0e10cSrcweir 235cdf0e10cSrcweir static sal_Bool impldbg_checkParameter_initialize ( const css::uno::Sequence< css::uno::Any >& seqArguments ); 236cdf0e10cSrcweir static sal_Bool impldbg_checkParameter_createWindow ( const css::uno::Any& aPlatformWindowHandle , 237cdf0e10cSrcweir sal_Bool bEmbedded ); 238cdf0e10cSrcweir static sal_Bool impldbg_checkParameter_newStream ( const ::rtl::OUString& sMIMEDescription , 239cdf0e10cSrcweir const ::rtl::OUString& sURL , 240cdf0e10cSrcweir const ::rtl::OUString& sFilter , 241cdf0e10cSrcweir const css::uno::Reference< css::io::XInputStream >& xStream ); 242cdf0e10cSrcweir static sal_Bool impldbg_checkParameter_newURL ( const ::rtl::OUString& sMIMEDescription , 243cdf0e10cSrcweir const ::rtl::OUString& sURL , 244cdf0e10cSrcweir const ::rtl::OUString& sFilter ); 245cdf0e10cSrcweir static sal_Bool impldbg_checkParameter_getHttpServerURL ( ::rtl::OUString& sHost , 246cdf0e10cSrcweir sal_uInt16& nPort , 247cdf0e10cSrcweir ::rtl::OUString& sPrefix ); 248cdf0e10cSrcweir static sal_Bool impldbg_checkParameter_queryDispatch ( const css::util::URL& aURL , 249cdf0e10cSrcweir const ::rtl::OUString& sTargetFrameName , 250cdf0e10cSrcweir sal_Int32 nSearchFlags ); 251cdf0e10cSrcweir static sal_Bool impldbg_checkParameter_queryDispatches ( const css::uno::Sequence< css::frame::DispatchDescriptor >& seqDescripts ); 252cdf0e10cSrcweir static sal_Bool impldbg_checkParameter_statusChanged ( const css::frame::FeatureStateEvent& aEvent ); 253cdf0e10cSrcweir static sal_Bool impldbg_checkParameter_disposing ( const css::lang::EventObject& aEvent ); 254cdf0e10cSrcweir 255cdf0e10cSrcweir #endif // #ifdef ENABLE_ASSERTIONS 256cdf0e10cSrcweir 257cdf0e10cSrcweir //------------------------------------------------------------------------------------------------------------- 258cdf0e10cSrcweir // variables 259cdf0e10cSrcweir // (should be private everyway!) 260cdf0e10cSrcweir //------------------------------------------------------------------------------------------------------------- 261cdf0e10cSrcweir 262cdf0e10cSrcweir private: 263cdf0e10cSrcweir 264cdf0e10cSrcweir css::uno::Reference< css::mozilla::XPluginInstancePeer > m_xPlugInInstancePeer ; /// Reference to UNO interface of PlugIn dll for communication with browser 265cdf0e10cSrcweir css::uno::Reference< css::mozilla::XPluginWindowPeer > m_xPlugInWindowPeer ; /// Reference to set child window at plugin window 266cdf0e10cSrcweir css::uno::Sequence< css::beans::PropertyValue > m_seqProperties ; /// Sequence of properties as arguments for load document 267cdf0e10cSrcweir css::util::URL m_aURL ; /// URL for document to load 268cdf0e10cSrcweir sal_Bool m_bILoad ; /// PlugInFrame has a valid loader which load the document and wait for finished/cancelled 269cdf0e10cSrcweir sal_Bool m_bIHaveDocument ; /// We have a document loaded successful. 270cdf0e10cSrcweir css::uno::Reference< css::frame::XDispatchProvider > m_xPlugInDispatcher ; /// Dispatcher to forward dispatches to browser 27107a3d7f1SPedro Giffuni static sal_Bool m_bRemoteFactoriesExist ; /// indicates, if remote factories was already registered (necessary one times only!) 272cdf0e10cSrcweir SvtCommandOptions m_aCommandOptions ; /// ref counted class to support disabling commands defined by configuration file 273cdf0e10cSrcweir 274cdf0e10cSrcweir }; // class PlugInFrame 275cdf0e10cSrcweir 276cdf0e10cSrcweir /*-************************************************************************************************************//** 277cdf0e10cSrcweir @short used to forward all asynchronous calls which use VCL internal to the main thread 278cdf0e10cSrcweir @descr We need this asynchronous mechanism to prevent us against dead locks. Sometimes our main thread 279cdf0e10cSrcweir can call us for event handling like FOCUS, ACTIVATE and something else. But at the same time we will call 280cdf0e10cSrcweir the main thread to CREATE A WINDOW, SET IT VISIBLE ... Then we have a problem. We must send us himself a event 281cdf0e10cSrcweir to run our code synchronized with our main thread! 282cdf0e10cSrcweir 283cdf0e10cSrcweir @implements 284cdf0e10cSrcweir @base - 285cdf0e10cSrcweir *//*-*************************************************************************************************************/ 286cdf0e10cSrcweir 287cdf0e10cSrcweir enum eIMPL_PluginCommand 288cdf0e10cSrcweir { 289cdf0e10cSrcweir START , 290cdf0e10cSrcweir STOP , 291cdf0e10cSrcweir CREATEWINDOW , 292cdf0e10cSrcweir DESTROY , 293cdf0e10cSrcweir NEWSTREAM , 294cdf0e10cSrcweir NEWURL 295cdf0e10cSrcweir }; 296cdf0e10cSrcweir 297cdf0e10cSrcweir class cIMPL_MainThreadExecutorRequest 298cdf0e10cSrcweir { 299cdf0e10cSrcweir public: 300cdf0e10cSrcweir cIMPL_MainThreadExecutorRequest( eIMPL_PluginCommand eCommand , 301cdf0e10cSrcweir PlugInFrame* pPluginInstance ); 302cdf0e10cSrcweir 303cdf0e10cSrcweir cIMPL_MainThreadExecutorRequest( eIMPL_PluginCommand eCommand , 304cdf0e10cSrcweir PlugInFrame* pPluginInstance , 305cdf0e10cSrcweir const css::uno::Any& aPlatformWindowHandle , 306cdf0e10cSrcweir sal_Bool bEmbedded ); 307cdf0e10cSrcweir 308cdf0e10cSrcweir cIMPL_MainThreadExecutorRequest( eIMPL_PluginCommand eCommand , 309cdf0e10cSrcweir PlugInFrame* pPluginInstance , 310cdf0e10cSrcweir const ::rtl::OUString& sMIMEDescription , 311cdf0e10cSrcweir const ::rtl::OUString& sURL , 312cdf0e10cSrcweir const ::rtl::OUString& sFilter , 313cdf0e10cSrcweir const css::uno::Reference< css::io::XInputStream >& xStream , 314cdf0e10cSrcweir const css::uno::Any& aSessionId ); 315cdf0e10cSrcweir 316cdf0e10cSrcweir /*-****************************************************************************************************//** 317cdf0e10cSrcweir @short - 318cdf0e10cSrcweir @descr - 319cdf0e10cSrcweir 320cdf0e10cSrcweir @seealso - 321cdf0e10cSrcweir 322cdf0e10cSrcweir @param - 323cdf0e10cSrcweir @return - 324cdf0e10cSrcweir 325cdf0e10cSrcweir @onerror - 326cdf0e10cSrcweir *//*-*****************************************************************************************************/ 327cdf0e10cSrcweir 328cdf0e10cSrcweir virtual long doIt(); 329cdf0e10cSrcweir 330cdf0e10cSrcweir //------------------------------------------------------------------------------------------------------------- 331cdf0e10cSrcweir // private variables 332cdf0e10cSrcweir //------------------------------------------------------------------------------------------------------------- 333cdf0e10cSrcweir private: 334cdf0e10cSrcweir 335cdf0e10cSrcweir eIMPL_PluginCommand m_eCommand ; /// switch to specify forward function 336*30acf5e8Spfg PlugInFrame* m_pPluginInstance ; /// instance which has started this swicth mechanism and wish to called back from us 337cdf0e10cSrcweir css::uno::Reference< css::uno::XInterface > m_xPluginInstance ; /// reference to our plugin frame to prevent that plugin frame dies before we call back 338cdf0e10cSrcweir css::uno::Any m_aPlatformWindowHandle ; /// parameter for XPluginInstance->createWindow() 339cdf0e10cSrcweir sal_Bool m_bEmbedded ; /// parameter for XPluginInstance->createWindow() 340cdf0e10cSrcweir ::rtl::OUString m_sMIMEDescription ; /// parameter for XPluginInstance->newStream()/newURL() 341cdf0e10cSrcweir ::rtl::OUString m_sURL ; /// parameter for XPluginInstance->newStream()/newURL() 342cdf0e10cSrcweir ::rtl::OUString m_sFilter ; /// parameter for XPluginInstance->newStream()/newURL() 343cdf0e10cSrcweir css::uno::Reference< css::io::XInputStream > m_xStream ; /// parameter for XPluginInstance->newStream()/newURL() 344cdf0e10cSrcweir css::uno::Any m_aSessionId ; /// parameter for XPluginInstance->newStream()/newURL() 345cdf0e10cSrcweir }; 346cdf0e10cSrcweir 347cdf0e10cSrcweir class cIMPL_MainThreadExecutor 348cdf0e10cSrcweir { 349cdf0e10cSrcweir //------------------------------------------------------------------------------------------------------------- 350cdf0e10cSrcweir // public methods 351cdf0e10cSrcweir //------------------------------------------------------------------------------------------------------------- 352cdf0e10cSrcweir public: 353cdf0e10cSrcweir static void execute( cIMPL_MainThreadExecutorRequest* pRequest ); 354cdf0e10cSrcweir 355cdf0e10cSrcweir /*-****************************************************************************************************//** 356cdf0e10cSrcweir @short - 357cdf0e10cSrcweir @descr - 358cdf0e10cSrcweir 359cdf0e10cSrcweir @seealso - 360cdf0e10cSrcweir 361cdf0e10cSrcweir @param - 362cdf0e10cSrcweir @return - 363cdf0e10cSrcweir 364cdf0e10cSrcweir @onerror - 365cdf0e10cSrcweir *//*-*****************************************************************************************************/ 366cdf0e10cSrcweir DECL_STATIC_LINK( cIMPL_MainThreadExecutor, worker, cIMPL_MainThreadExecutorRequest* ); 367cdf0e10cSrcweir }; 368cdf0e10cSrcweir 369cdf0e10cSrcweir } // namespace framework 370cdf0e10cSrcweir 371cdf0e10cSrcweir #endif // #ifndef __FRAMEWORK_SERVICES_PLUGINFRAME_HXX_ 372