1*b1cdbd2cSJim Jagielski /**************************************************************
2*b1cdbd2cSJim Jagielski  *
3*b1cdbd2cSJim Jagielski  * Licensed to the Apache Software Foundation (ASF) under one
4*b1cdbd2cSJim Jagielski  * or more contributor license agreements.  See the NOTICE file
5*b1cdbd2cSJim Jagielski  * distributed with this work for additional information
6*b1cdbd2cSJim Jagielski  * regarding copyright ownership.  The ASF licenses this file
7*b1cdbd2cSJim Jagielski  * to you under the Apache License, Version 2.0 (the
8*b1cdbd2cSJim Jagielski  * "License"); you may not use this file except in compliance
9*b1cdbd2cSJim Jagielski  * with the License.  You may obtain a copy of the License at
10*b1cdbd2cSJim Jagielski  *
11*b1cdbd2cSJim Jagielski  *   http://www.apache.org/licenses/LICENSE-2.0
12*b1cdbd2cSJim Jagielski  *
13*b1cdbd2cSJim Jagielski  * Unless required by applicable law or agreed to in writing,
14*b1cdbd2cSJim Jagielski  * software distributed under the License is distributed on an
15*b1cdbd2cSJim Jagielski  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*b1cdbd2cSJim Jagielski  * KIND, either express or implied.  See the License for the
17*b1cdbd2cSJim Jagielski  * specific language governing permissions and limitations
18*b1cdbd2cSJim Jagielski  * under the License.
19*b1cdbd2cSJim Jagielski  *
20*b1cdbd2cSJim Jagielski  *************************************************************/
21*b1cdbd2cSJim Jagielski 
22*b1cdbd2cSJim Jagielski 
23*b1cdbd2cSJim Jagielski 
24*b1cdbd2cSJim Jagielski #ifndef __FRAMEWORK_SERVICES_URLTRANSFORMER_HXX_
25*b1cdbd2cSJim Jagielski #define __FRAMEWORK_SERVICES_URLTRANSFORMER_HXX_
26*b1cdbd2cSJim Jagielski 
27*b1cdbd2cSJim Jagielski //_________________________________________________________________________________________________________________
28*b1cdbd2cSJim Jagielski //	my own includes
29*b1cdbd2cSJim Jagielski //_________________________________________________________________________________________________________________
30*b1cdbd2cSJim Jagielski 
31*b1cdbd2cSJim Jagielski #ifndef __FRAMEWORK_OMUTEXMEMBER_HXX_
32*b1cdbd2cSJim Jagielski #include <threadhelp/threadhelpbase.hxx>
33*b1cdbd2cSJim Jagielski #endif
34*b1cdbd2cSJim Jagielski #include <macros/generic.hxx>
35*b1cdbd2cSJim Jagielski #include <macros/debug.hxx>
36*b1cdbd2cSJim Jagielski #include <macros/xinterface.hxx>
37*b1cdbd2cSJim Jagielski #include <macros/xtypeprovider.hxx>
38*b1cdbd2cSJim Jagielski #include <macros/xserviceinfo.hxx>
39*b1cdbd2cSJim Jagielski #include <general.h>
40*b1cdbd2cSJim Jagielski 
41*b1cdbd2cSJim Jagielski //_________________________________________________________________________________________________________________
42*b1cdbd2cSJim Jagielski //	interface includes
43*b1cdbd2cSJim Jagielski //_________________________________________________________________________________________________________________
44*b1cdbd2cSJim Jagielski #include <com/sun/star/util/XURLTransformer.hpp>
45*b1cdbd2cSJim Jagielski #include <com/sun/star/util/URL.hpp>
46*b1cdbd2cSJim Jagielski 
47*b1cdbd2cSJim Jagielski //_________________________________________________________________________________________________________________
48*b1cdbd2cSJim Jagielski //	other includes
49*b1cdbd2cSJim Jagielski //_________________________________________________________________________________________________________________
50*b1cdbd2cSJim Jagielski #include <cppuhelper/implbase2.hxx>
51*b1cdbd2cSJim Jagielski 
52*b1cdbd2cSJim Jagielski //_________________________________________________________________________________________________________________
53*b1cdbd2cSJim Jagielski //	namespace
54*b1cdbd2cSJim Jagielski //_________________________________________________________________________________________________________________
55*b1cdbd2cSJim Jagielski 
56*b1cdbd2cSJim Jagielski namespace framework{
57*b1cdbd2cSJim Jagielski 
58*b1cdbd2cSJim Jagielski //_________________________________________________________________________________________________________________
59*b1cdbd2cSJim Jagielski //	exported const
60*b1cdbd2cSJim Jagielski //_________________________________________________________________________________________________________________
61*b1cdbd2cSJim Jagielski 
62*b1cdbd2cSJim Jagielski //_________________________________________________________________________________________________________________
63*b1cdbd2cSJim Jagielski //	exported definitions
64*b1cdbd2cSJim Jagielski //_________________________________________________________________________________________________________________
65*b1cdbd2cSJim Jagielski 
66*b1cdbd2cSJim Jagielski /*-************************************************************************************************************//**
67*b1cdbd2cSJim Jagielski 	@short
68*b1cdbd2cSJim Jagielski 
69*b1cdbd2cSJim Jagielski 	@descr		-
70*b1cdbd2cSJim Jagielski 
71*b1cdbd2cSJim Jagielski 	@implements	XInterface
72*b1cdbd2cSJim Jagielski 				XTypeProvider
73*b1cdbd2cSJim Jagielski 				XServiceInfo
74*b1cdbd2cSJim Jagielski 				XURLTransformer
75*b1cdbd2cSJim Jagielski 
76*b1cdbd2cSJim Jagielski 	@base		ThreadHelpBase
77*b1cdbd2cSJim Jagielski 				OWeakObject
78*b1cdbd2cSJim Jagielski *//*-*************************************************************************************************************/
79*b1cdbd2cSJim Jagielski 
80*b1cdbd2cSJim Jagielski class URLTransformer	:	public ::cppu::WeakImplHelper2< ::com::sun::star::util::XURLTransformer, css::lang::XServiceInfo>
81*b1cdbd2cSJim Jagielski {
82*b1cdbd2cSJim Jagielski 	//-------------------------------------------------------------------------------------------------------------
83*b1cdbd2cSJim Jagielski 	//	public methods
84*b1cdbd2cSJim Jagielski 	//-------------------------------------------------------------------------------------------------------------
85*b1cdbd2cSJim Jagielski 
86*b1cdbd2cSJim Jagielski 	public:
87*b1cdbd2cSJim Jagielski 
88*b1cdbd2cSJim Jagielski 		//---------------------------------------------------------------------------------------------------------
89*b1cdbd2cSJim Jagielski 		//	constructor / destructor
90*b1cdbd2cSJim Jagielski 		//---------------------------------------------------------------------------------------------------------
91*b1cdbd2cSJim Jagielski 
92*b1cdbd2cSJim Jagielski 		/*-****************************************************************************************************//**
93*b1cdbd2cSJim Jagielski 			@short		-
94*b1cdbd2cSJim Jagielski 			@descr		-
95*b1cdbd2cSJim Jagielski 
96*b1cdbd2cSJim Jagielski 			@seealso	-
97*b1cdbd2cSJim Jagielski 
98*b1cdbd2cSJim Jagielski 			@param		-
99*b1cdbd2cSJim Jagielski 			@return		-
100*b1cdbd2cSJim Jagielski 
101*b1cdbd2cSJim Jagielski 			@onerror	-
102*b1cdbd2cSJim Jagielski 		*//*-*****************************************************************************************************/
103*b1cdbd2cSJim Jagielski 
104*b1cdbd2cSJim Jagielski 	 	URLTransformer( const css::uno::Reference< css::lang::XMultiServiceFactory >& sFactory );
105*b1cdbd2cSJim Jagielski 
106*b1cdbd2cSJim Jagielski 		/*-****************************************************************************************************//**
107*b1cdbd2cSJim Jagielski 			@short		-
108*b1cdbd2cSJim Jagielski 			@descr		-
109*b1cdbd2cSJim Jagielski 
110*b1cdbd2cSJim Jagielski 			@seealso	-
111*b1cdbd2cSJim Jagielski 
112*b1cdbd2cSJim Jagielski 			@param		-
113*b1cdbd2cSJim Jagielski 			@return		-
114*b1cdbd2cSJim Jagielski 
115*b1cdbd2cSJim Jagielski 			@onerror	-
116*b1cdbd2cSJim Jagielski 		*//*-*****************************************************************************************************/
117*b1cdbd2cSJim Jagielski 
118*b1cdbd2cSJim Jagielski 		virtual	~URLTransformer();
119*b1cdbd2cSJim Jagielski 
120*b1cdbd2cSJim Jagielski 		//---------------------------------------------------------------------------------------------------------
121*b1cdbd2cSJim Jagielski 		//	XInterface, XTypeProvider, XServiceInfo
122*b1cdbd2cSJim Jagielski 		//---------------------------------------------------------------------------------------------------------
123*b1cdbd2cSJim Jagielski 
124*b1cdbd2cSJim Jagielski 		DECLARE_XSERVICEINFO
125*b1cdbd2cSJim Jagielski 
126*b1cdbd2cSJim Jagielski 		//---------------------------------------------------------------------------------------------------------
127*b1cdbd2cSJim Jagielski 		//	XURLTransformer
128*b1cdbd2cSJim Jagielski 		//---------------------------------------------------------------------------------------------------------
129*b1cdbd2cSJim Jagielski 
130*b1cdbd2cSJim Jagielski 		/*-****************************************************************************************************//**
131*b1cdbd2cSJim Jagielski 			@short		-
132*b1cdbd2cSJim Jagielski 			@descr		-
133*b1cdbd2cSJim Jagielski 
134*b1cdbd2cSJim Jagielski 			@seealso	-
135*b1cdbd2cSJim Jagielski 
136*b1cdbd2cSJim Jagielski 			@param		-
137*b1cdbd2cSJim Jagielski 			@return		-
138*b1cdbd2cSJim Jagielski 
139*b1cdbd2cSJim Jagielski 			@onerror	-
140*b1cdbd2cSJim Jagielski 		*//*-*****************************************************************************************************/
141*b1cdbd2cSJim Jagielski 
142*b1cdbd2cSJim Jagielski     	virtual sal_Bool SAL_CALL parseStrict( css::util::URL& aURL ) throw( css::uno::RuntimeException );
143*b1cdbd2cSJim Jagielski 
144*b1cdbd2cSJim Jagielski 		/*-****************************************************************************************************//**
145*b1cdbd2cSJim Jagielski 			@short		-
146*b1cdbd2cSJim Jagielski 			@descr		-
147*b1cdbd2cSJim Jagielski 
148*b1cdbd2cSJim Jagielski 			@seealso	-
149*b1cdbd2cSJim Jagielski 
150*b1cdbd2cSJim Jagielski 			@param		-
151*b1cdbd2cSJim Jagielski 			@return		-
152*b1cdbd2cSJim Jagielski 
153*b1cdbd2cSJim Jagielski 			@onerror	-
154*b1cdbd2cSJim Jagielski 		*//*-*****************************************************************************************************/
155*b1cdbd2cSJim Jagielski 
156*b1cdbd2cSJim Jagielski     	virtual sal_Bool SAL_CALL parseSmart(			css::util::URL&		aURL			,
157*b1cdbd2cSJim Jagielski 												const	::rtl::OUString&	sSmartProtocol	) throw( css::uno::RuntimeException );
158*b1cdbd2cSJim Jagielski 
159*b1cdbd2cSJim Jagielski 		/*-****************************************************************************************************//**
160*b1cdbd2cSJim Jagielski 			@short		-
161*b1cdbd2cSJim Jagielski 			@descr		-
162*b1cdbd2cSJim Jagielski 
163*b1cdbd2cSJim Jagielski 			@seealso	-
164*b1cdbd2cSJim Jagielski 
165*b1cdbd2cSJim Jagielski 			@param		-
166*b1cdbd2cSJim Jagielski 			@return		-
167*b1cdbd2cSJim Jagielski 
168*b1cdbd2cSJim Jagielski 			@onerror	-
169*b1cdbd2cSJim Jagielski 		*//*-*****************************************************************************************************/
170*b1cdbd2cSJim Jagielski 
171*b1cdbd2cSJim Jagielski     	virtual sal_Bool SAL_CALL assemble( css::util::URL& aURL ) throw( css::uno::RuntimeException );
172*b1cdbd2cSJim Jagielski 
173*b1cdbd2cSJim Jagielski 		/*-****************************************************************************************************//**
174*b1cdbd2cSJim Jagielski 			@short		-
175*b1cdbd2cSJim Jagielski 			@descr		-
176*b1cdbd2cSJim Jagielski 
177*b1cdbd2cSJim Jagielski 			@seealso	-
178*b1cdbd2cSJim Jagielski 
179*b1cdbd2cSJim Jagielski 			@param		-
180*b1cdbd2cSJim Jagielski 			@return		-
181*b1cdbd2cSJim Jagielski 
182*b1cdbd2cSJim Jagielski 			@onerror	-
183*b1cdbd2cSJim Jagielski 		*//*-*****************************************************************************************************/
184*b1cdbd2cSJim Jagielski 
185*b1cdbd2cSJim Jagielski     	virtual ::rtl::OUString SAL_CALL getPresentation(	const	css::util::URL&		aURL			,
186*b1cdbd2cSJim Jagielski 																	sal_Bool			bWithPassword	) throw( css::uno::RuntimeException );
187*b1cdbd2cSJim Jagielski 
188*b1cdbd2cSJim Jagielski 	//-------------------------------------------------------------------------------------------------------------
189*b1cdbd2cSJim Jagielski 	//	protected methods
190*b1cdbd2cSJim Jagielski 	//-------------------------------------------------------------------------------------------------------------
191*b1cdbd2cSJim Jagielski 
192*b1cdbd2cSJim Jagielski 	protected:
193*b1cdbd2cSJim Jagielski 
194*b1cdbd2cSJim Jagielski 	//-------------------------------------------------------------------------------------------------------------
195*b1cdbd2cSJim Jagielski 	//	private methods
196*b1cdbd2cSJim Jagielski 	//-------------------------------------------------------------------------------------------------------------
197*b1cdbd2cSJim Jagielski 
198*b1cdbd2cSJim Jagielski 	private:
199*b1cdbd2cSJim Jagielski 
200*b1cdbd2cSJim Jagielski 	//-------------------------------------------------------------------------------------------------------------
201*b1cdbd2cSJim Jagielski 	//	debug methods
202*b1cdbd2cSJim Jagielski 	//	(should be private everyway!)
203*b1cdbd2cSJim Jagielski 	//-------------------------------------------------------------------------------------------------------------
204*b1cdbd2cSJim Jagielski 
205*b1cdbd2cSJim Jagielski 
206*b1cdbd2cSJim Jagielski 	//-------------------------------------------------------------------------------------------------------------
207*b1cdbd2cSJim Jagielski 	//	variables
208*b1cdbd2cSJim Jagielski 	//	(should be private everyway!)
209*b1cdbd2cSJim Jagielski 	//-------------------------------------------------------------------------------------------------------------
210*b1cdbd2cSJim Jagielski 
211*b1cdbd2cSJim Jagielski 	private:
212*b1cdbd2cSJim Jagielski 
213*b1cdbd2cSJim Jagielski 		css::uno::Reference< css::lang::XMultiServiceFactory >		m_xFactory			;	/// reference to factory, which has created this instance
214*b1cdbd2cSJim Jagielski 
215*b1cdbd2cSJim Jagielski };		//	class URLTransformer
216*b1cdbd2cSJim Jagielski 
217*b1cdbd2cSJim Jagielski }		//	namespace framework
218*b1cdbd2cSJim Jagielski 
219*b1cdbd2cSJim Jagielski #endif	//	#ifndef __FRAMEWORK_SERVICES_URLTRANSFORMER_HXX_
220