diff --git a/framework/inc/services/taskcreatorsrv.hxx b/framework/inc/services/taskcreatorsrv.hxx new file mode 100644 index 000000000000..f8549ff931af --- /dev/null +++ b/framework/inc/services/taskcreatorsrv.hxx @@ -0,0 +1,173 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: taskcreatorsrv.hxx,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: vg $ $Date: 2006-09-08 08:31:30 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#ifndef __FRAMEWORK_SERVICES_TASKCREATORSRV_HXX_ +#define __FRAMEWORK_SERVICES_TASKCREATORSRV_HXX_ + +//_______________________________________________ +// own includes + +#ifndef __FRAMEWORK_THREADHELP_THREADHELPBASE_HXX_ +#include +#endif + +#ifndef __FRAMEWORK_MACROS_XINTERFACE_HXX_ +#include +#endif + +#ifndef __FRAMEWORK_MACROS_XTYPEPROVIDER_HXX_ +#include +#endif + +#ifndef __FRAMEWORK_MACROS_XSERVICEINFO_HXX_ +#include +#endif + +#ifndef __FRAMEWORK_GENERAL_H_ +#include +#endif + +#ifndef __FRAMEWORK_STDTYPES_H_ +#include +#endif + +//_______________________________________________ +// interface includes + +#ifndef _COM_SUN_STAR_UNO_XINTERFACE_HPP_ +#include +#endif + +#ifndef _COM_SUN_STAR_FRAME_XFRAME_HPP_ +#include +#endif + +#ifndef _COM_SUN_STAR_LANG_XTYPEPROVIDER_HPP_ +#include +#endif + +#ifndef _COM_SUN_STAR_LANG_XSERVICEINFO_HPP_ +#include +#endif + +#ifndef _COM_SUN_STAR_LANG_XMULTISERVICEFACTORY_HPP_ +#include +#endif + +#ifndef _COM_SUN_STAR_LANG_XSINGLESERVICEFACTORY_HPP_ +#include +#endif + +//_______________________________________________ +// other includes + +#ifndef _CPPUHELPER_WEAK_HXX_ +#include +#endif + +#ifndef _COMPHELPER_SEQUENCEASHASHMAP_HXX_ +#include +#endif + +//_______________________________________________ +// definition + +#ifndef css +namespace css = ::com::sun::star; +#endif + +namespace framework +{ + +//_______________________________________________ +/** + * TODO document me + */ +class TaskCreatorService : public css::lang::XTypeProvider + , public css::lang::XServiceInfo + , public css::lang::XSingleServiceFactory + // attention! Must be the first base class to guarentee right initialize lock ... + , private ThreadHelpBase + , public ::cppu::OWeakObject +{ + //___________________________________________ + // types + + //___________________________________________ + // member + + private: + + //--------------------------------------- + /** @short the global uno service manager. + @descr Must be used to create own needed services. + */ + css::uno::Reference< css::lang::XMultiServiceFactory > m_xSMGR; + + //___________________________________________ + // interface + + public: + + TaskCreatorService(const css::uno::Reference< css::lang::XMultiServiceFactory >& xSMGR); + virtual ~TaskCreatorService( ); + + // XInterface, XTypeProvider, XServiceInfo + FWK_DECLARE_XINTERFACE + FWK_DECLARE_XTYPEPROVIDER + DECLARE_XSERVICEINFO + + // XSingleServiceFactory + virtual css::uno::Reference< css::uno::XInterface > SAL_CALL createInstance() + throw(css::uno::Exception , + css::uno::RuntimeException); + + virtual css::uno::Reference< css::uno::XInterface > SAL_CALL createInstanceWithArguments(const css::uno::Sequence< css::uno::Any >& lArguments) + throw(css::uno::Exception , + css::uno::RuntimeException); + //___________________________________________ + // helper + + private: + + css::uno::Reference< css::frame::XFrame > implts_createSystemTask( const css::uno::Reference< css::frame::XFramesSupplier >& xDesktop , + const ::rtl::OUString& sName , + sal_Bool bVisible ); + ::rtl::OUString impl_filterNames( const ::rtl::OUString& sName ); +}; + +} // namespace framework + +#endif // __FRAMEWORK_SERVICES_TASKCREATORSRV_HXX_