1*b9e67834SAndre Fischer /************************************************************** 2*b9e67834SAndre Fischer * 3*b9e67834SAndre Fischer * Licensed to the Apache Software Foundation (ASF) under one 4*b9e67834SAndre Fischer * or more contributor license agreements. See the NOTICE file 5*b9e67834SAndre Fischer * distributed with this work for additional information 6*b9e67834SAndre Fischer * regarding copyright ownership. The ASF licenses this file 7*b9e67834SAndre Fischer * to you under the Apache License, Version 2.0 (the 8*b9e67834SAndre Fischer * "License"); you may not use this file except in compliance 9*b9e67834SAndre Fischer * with the License. You may obtain a copy of the License at 10*b9e67834SAndre Fischer * 11*b9e67834SAndre Fischer * http://www.apache.org/licenses/LICENSE-2.0 12*b9e67834SAndre Fischer * 13*b9e67834SAndre Fischer * Unless required by applicable law or agreed to in writing, 14*b9e67834SAndre Fischer * software distributed under the License is distributed on an 15*b9e67834SAndre Fischer * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*b9e67834SAndre Fischer * KIND, either express or implied. See the License for the 17*b9e67834SAndre Fischer * specific language governing permissions and limitations 18*b9e67834SAndre Fischer * under the License. 19*b9e67834SAndre Fischer * 20*b9e67834SAndre Fischer *************************************************************/ 21*b9e67834SAndre Fischer 22*b9e67834SAndre Fischer #ifndef SVX_SIDEBAR_PANEL_FACTORY_HXX 23*b9e67834SAndre Fischer #define SVX_SIDEBAR_PANEL_FACTORY_HXX 24*b9e67834SAndre Fischer 25*b9e67834SAndre Fischer #include <cppuhelper/compbase1.hxx> 26*b9e67834SAndre Fischer #include <cppuhelper/basemutex.hxx> 27*b9e67834SAndre Fischer 28*b9e67834SAndre Fischer #include <com/sun/star/ui/XUIElementFactory.hpp> 29*b9e67834SAndre Fischer 30*b9e67834SAndre Fischer #include <boost/noncopyable.hpp> 31*b9e67834SAndre Fischer 32*b9e67834SAndre Fischer 33*b9e67834SAndre Fischer namespace css = ::com::sun::star; 34*b9e67834SAndre Fischer namespace cssu = ::com::sun::star::uno; 35*b9e67834SAndre Fischer 36*b9e67834SAndre Fischer 37*b9e67834SAndre Fischer namespace svx { namespace sidebar { 38*b9e67834SAndre Fischer 39*b9e67834SAndre Fischer namespace 40*b9e67834SAndre Fischer { 41*b9e67834SAndre Fischer typedef ::cppu::WeakComponentImplHelper1 < 42*b9e67834SAndre Fischer css::ui::XUIElementFactory 43*b9e67834SAndre Fischer > PanelFactoryInterfaceBase; 44*b9e67834SAndre Fischer } 45*b9e67834SAndre Fischer 46*b9e67834SAndre Fischer 47*b9e67834SAndre Fischer class PanelFactory 48*b9e67834SAndre Fischer : private ::boost::noncopyable, 49*b9e67834SAndre Fischer private ::cppu::BaseMutex, 50*b9e67834SAndre Fischer public PanelFactoryInterfaceBase 51*b9e67834SAndre Fischer { 52*b9e67834SAndre Fischer public: 53*b9e67834SAndre Fischer static ::rtl::OUString SAL_CALL getImplementationName (void); 54*b9e67834SAndre Fischer static cssu::Reference<cssu::XInterface> SAL_CALL createInstance ( 55*b9e67834SAndre Fischer const cssu::Reference<css::lang::XMultiServiceFactory>& rxFactory); 56*b9e67834SAndre Fischer static cssu::Sequence<rtl::OUString> SAL_CALL getSupportedServiceNames (void); 57*b9e67834SAndre Fischer 58*b9e67834SAndre Fischer PanelFactory (void); 59*b9e67834SAndre Fischer virtual ~PanelFactory (void); 60*b9e67834SAndre Fischer 61*b9e67834SAndre Fischer // XUIElementFactory 62*b9e67834SAndre Fischer cssu::Reference<css::ui::XUIElement> SAL_CALL createUIElement ( 63*b9e67834SAndre Fischer const ::rtl::OUString& rsResourceURL, 64*b9e67834SAndre Fischer const ::cssu::Sequence<css::beans::PropertyValue>& rArguments) 65*b9e67834SAndre Fischer throw( 66*b9e67834SAndre Fischer css::container::NoSuchElementException, 67*b9e67834SAndre Fischer css::lang::IllegalArgumentException, 68*b9e67834SAndre Fischer cssu::RuntimeException); 69*b9e67834SAndre Fischer }; 70*b9e67834SAndre Fischer 71*b9e67834SAndre Fischer 72*b9e67834SAndre Fischer } } // end of namespace svx::sidebar 73*b9e67834SAndre Fischer 74*b9e67834SAndre Fischer #endif 75