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 // MARKER(update_precomp.py): autogen include statement, do not remove 29 #include "precompiled_ucbhelper.hxx" 30 31 /************************************************************************** 32 TODO 33 ************************************************************************** 34 35 *************************************************************************/ 36 #include <com/sun/star/lang/XMultiServiceFactory.hpp> 37 #include <com/sun/star/lang/XComponent.hpp> 38 #include <com/sun/star/ucb/XContentIdentifierFactory.hpp> 39 #include <com/sun/star/ucb/XContentProvider.hpp> 40 #include <com/sun/star/ucb/XContentProviderManager.hpp> 41 #include <ucbhelper/commandenvironment.hxx> 42 43 using namespace com::sun::star::lang; 44 using namespace com::sun::star::task; 45 using namespace com::sun::star::ucb; 46 using namespace com::sun::star::uno; 47 using namespace rtl; 48 49 namespace ucbhelper 50 { 51 52 //========================================================================= 53 //========================================================================= 54 // 55 // struct CommandEnvironment_Impl. 56 // 57 //========================================================================= 58 //========================================================================= 59 60 struct CommandEnvironment_Impl 61 { 62 Reference< XInteractionHandler > m_xInteractionHandler; 63 Reference< XProgressHandler > m_xProgressHandler; 64 65 CommandEnvironment_Impl( 66 const Reference< XInteractionHandler >& rxInteractionHandler, 67 const Reference< XProgressHandler >& rxProgressHandler ) 68 : m_xInteractionHandler( rxInteractionHandler ), 69 m_xProgressHandler( rxProgressHandler ) {} 70 }; 71 72 //========================================================================= 73 //========================================================================= 74 // 75 // CommandEnvironment Implementation. 76 // 77 //========================================================================= 78 //========================================================================= 79 80 CommandEnvironment::CommandEnvironment( 81 const Reference< XInteractionHandler >& rxInteractionHandler, 82 const Reference< XProgressHandler >& rxProgressHandler ) 83 { 84 m_pImpl = new CommandEnvironment_Impl( rxInteractionHandler, 85 rxProgressHandler ); 86 } 87 88 //========================================================================= 89 // virtual 90 CommandEnvironment::~CommandEnvironment() 91 { 92 delete m_pImpl; 93 } 94 95 //========================================================================= 96 // 97 // XInterface methods 98 // 99 //========================================================================= 100 101 XINTERFACE_IMPL_2( CommandEnvironment, 102 XTypeProvider, 103 XCommandEnvironment ); 104 105 //========================================================================= 106 // 107 // XTypeProvider methods 108 // 109 //========================================================================= 110 111 XTYPEPROVIDER_IMPL_2( CommandEnvironment, 112 XTypeProvider, 113 XCommandEnvironment ); 114 115 //========================================================================= 116 // 117 // XCommandEnvironemnt methods. 118 // 119 //========================================================================= 120 121 // virtual 122 Reference< XInteractionHandler > SAL_CALL 123 CommandEnvironment::getInteractionHandler() 124 throw ( RuntimeException ) 125 { 126 return m_pImpl->m_xInteractionHandler; 127 } 128 129 //========================================================================= 130 // virtual 131 Reference< XProgressHandler > SAL_CALL 132 CommandEnvironment::getProgressHandler() 133 throw ( RuntimeException ) 134 { 135 return m_pImpl->m_xProgressHandler; 136 } 137 138 } /* namespace ucbhelper */ 139 140