diff options
Diffstat (limited to 'filter/source/config/cache/contenthandlerfactory.hxx')
-rw-r--r-- | filter/source/config/cache/contenthandlerfactory.hxx | 148 |
1 files changed, 148 insertions, 0 deletions
diff --git a/filter/source/config/cache/contenthandlerfactory.hxx b/filter/source/config/cache/contenthandlerfactory.hxx new file mode 100644 index 000000000000..a50f91c0b61e --- /dev/null +++ b/filter/source/config/cache/contenthandlerfactory.hxx @@ -0,0 +1,148 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __FILTER_CONFIG_CONTENTHANDLERFACTORY_HXX_ +#define __FILTER_CONFIG_CONTENTHANDLERFACTORY_HXX_ + +//_______________________________________________ +// includes + +#include "basecontainer.hxx" +#include <com/sun/star/lang/XMultiServiceFactory.hpp> +#include <com/sun/star/lang/XSingleServiceFactory.hpp> +#include <cppuhelper/implbase1.hxx> + +//_______________________________________________ +// namespace + +namespace filter{ + namespace config{ + +namespace css = ::com::sun::star; + +//_______________________________________________ +// definitions + +//_______________________________________________ + +/** @short implements the service <type scope="com.sun.star.document">ContentHandlerFactory</type>. + */ +class ContentHandlerFactory : public ::cppu::ImplInheritanceHelper1< BaseContainer , + css::lang::XMultiServiceFactory > +{ + //------------------------------------------- + // native interface + + public: + + //--------------------------------------- + // ctor/dtor + + /** @short standard ctor to connect this interface wrapper to + the global filter cache instance ... + + @param xSMGR + reference to the uno service manager, which created this service instance. + */ + ContentHandlerFactory(const css::uno::Reference< css::lang::XMultiServiceFactory >& xSMGR); + + //--------------------------------------- + + /** @short standard dtor. + */ + virtual ~ContentHandlerFactory(); + + //------------------------------------------- + // uno interface + + public: + + //--------------------------------------- + // XMultiServiceFactory + + virtual css::uno::Reference< css::uno::XInterface > SAL_CALL createInstance(const ::rtl::OUString& sHandler) + throw(css::uno::Exception , + css::uno::RuntimeException); + + virtual css::uno::Reference< css::uno::XInterface > SAL_CALL createInstanceWithArguments(const ::rtl::OUString& sHandler , + const css::uno::Sequence< css::uno::Any >& lArguments) + throw(css::uno::Exception , + css::uno::RuntimeException); + + virtual css::uno::Sequence< ::rtl::OUString > SAL_CALL getAvailableServiceNames() + throw(css::uno::RuntimeException); + + //------------------------------------------- + // static uno helper! + + public: + + //--------------------------------------- + + /** @short return the uno implementation name of this class. + + @descr Because this information is used at several places + (and mostly an object instance of this class is not possible) + its implemented as a static function! + + @return The fix uno implementation name of this class. + */ + static ::rtl::OUString impl_getImplementationName(); + + //--------------------------------------- + + /** @short return the list of supported uno services of this class. + + @descr Because this information is used at several places + (and mostly an object instance of this class is not possible) + its implemented as a static function! + + @return The fix list of uno services supported by this class. + */ + static css::uno::Sequence< ::rtl::OUString > impl_getSupportedServiceNames(); + + //--------------------------------------- + + /** @short return a new intsnace of this class. + + @descr This method is used by the uno service manager, to create + a new instance of this service if needed. + + @param xSMGR + reference to the uno service manager, which require + this new instance. It should be passed to the new object + so it can be used internaly to create own needed uno resources. + + @return The new instance of this service as an uno reference. + */ + static css::uno::Reference< css::uno::XInterface > impl_createInstance(const css::uno::Reference< css::lang::XMultiServiceFactory >& xSMGR); +}; + + } // namespace config +} // namespace filter + +#endif // __FILTER_CONFIG_CONTENTHANDLERFACTORY_HXX_ |