1 /************************************************************************* 2 * 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * Copyright 2000, 2010 Oracle and/or its affiliates. 6 * 7 * OpenOffice.org - a multi-platform office productivity suite 8 * 9 * This file is part of OpenOffice.org. 10 * 11 * OpenOffice.org is free software: you can redistribute it and/or modify 12 * it under the terms of the GNU Lesser General Public License version 3 13 * only, as published by the Free Software Foundation. 14 * 15 * OpenOffice.org is distributed in the hope that it will be useful, 16 * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 * GNU Lesser General Public License version 3 for more details 19 * (a copy is included in the LICENSE file that accompanied this code). 20 * 21 * You should have received a copy of the GNU Lesser General Public License 22 * version 3 along with OpenOffice.org. If not, see 23 * <http://www.openoffice.org/license.html> 24 * for a copy of the LGPLv3 License. 25 * 26 ************************************************************************/ 27 28 #ifndef INCLUDED_TDOC_DOCUMENTCONTENTFACTORY_HXX 29 #define INCLUDED_TDOC_DOCUMENTCONTENTFACTORY_HXX 30 31 #include "com/sun/star/lang/XServiceInfo.hpp" 32 #include "com/sun/star/lang/XSingleServiceFactory.hpp" 33 #include "com/sun/star/frame/XTransientDocumentsDocumentContentFactory.hpp" 34 35 #include "cppuhelper/implbase2.hxx" 36 37 namespace tdoc_ucp { 38 39 class DocumentContentFactory : 40 public cppu::WeakImplHelper2< 41 com::sun::star::frame::XTransientDocumentsDocumentContentFactory, 42 com::sun::star::lang::XServiceInfo > 43 { 44 public: 45 DocumentContentFactory( const com::sun::star::uno::Reference< 46 com::sun::star::lang::XMultiServiceFactory >& rXSMgr ); 47 virtual ~DocumentContentFactory(); 48 49 // XServiceInfo 50 virtual ::rtl::OUString SAL_CALL getImplementationName() 51 throw ( com::sun::star::uno::RuntimeException ); 52 53 virtual sal_Bool SAL_CALL 54 supportsService( const ::rtl::OUString& ServiceName ) 55 throw ( com::sun::star::uno::RuntimeException ); 56 57 virtual com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL 58 getSupportedServiceNames() 59 throw ( com::sun::star::uno::RuntimeException ); 60 61 // XTransientDocumentsDocumentContentFactory 62 virtual com::sun::star::uno::Reference< 63 com::sun::star::ucb::XContent > SAL_CALL 64 createDocumentContent( const ::com::sun::star::uno::Reference< 65 com::sun::star::frame::XModel >& Model ) 66 throw ( com::sun::star::lang::IllegalArgumentException, 67 com::sun::star::uno::RuntimeException ); 68 69 // Non-UNO interfaces 70 static rtl::OUString 71 getImplementationName_Static(); 72 static com::sun::star::uno::Sequence< rtl::OUString > 73 getSupportedServiceNames_Static(); 74 75 static com::sun::star::uno::Reference< 76 com::sun::star::lang::XSingleServiceFactory > 77 createServiceFactory( const com::sun::star::uno::Reference< 78 com::sun::star::lang::XMultiServiceFactory > & rxServiceMgr ); 79 private: 80 com::sun::star::uno::Reference< 81 com::sun::star::lang::XMultiServiceFactory > m_xSMgr; 82 }; 83 84 } // namespace tdoc_ucp 85 86 #endif /* !INCLUDED_TDOC_DOCUMENTCONTENTFACTORY_HXX */ 87