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