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