update dev300-m58
[ooovba.git] / framework / inc / services / urltransformer.hxx
blobdf7b69dc91e050ed98da8442beb3ea77a7eb927a
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: urltransformer.hxx,v $
10 * $Revision: 1.8 $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
31 #ifndef __FRAMEWORK_SERVICES_URLTRANSFORMER_HXX_
32 #define __FRAMEWORK_SERVICES_URLTRANSFORMER_HXX_
34 //_________________________________________________________________________________________________________________
35 // my own includes
36 //_________________________________________________________________________________________________________________
38 #ifndef __FRAMEWORK_OMUTEXMEMBER_HXX_
39 #include <threadhelp/threadhelpbase.hxx>
40 #endif
41 #include <macros/generic.hxx>
42 #include <macros/debug.hxx>
43 #include <macros/xinterface.hxx>
44 #include <macros/xtypeprovider.hxx>
45 #include <macros/xserviceinfo.hxx>
46 #include <general.h>
48 //_________________________________________________________________________________________________________________
49 // interface includes
50 //_________________________________________________________________________________________________________________
51 #include <com/sun/star/util/XURLTransformer.hpp>
52 #include <com/sun/star/util/URL.hpp>
54 //_________________________________________________________________________________________________________________
55 // other includes
56 //_________________________________________________________________________________________________________________
57 #include <cppuhelper/implbase2.hxx>
59 //_________________________________________________________________________________________________________________
60 // namespace
61 //_________________________________________________________________________________________________________________
63 namespace framework{
65 //_________________________________________________________________________________________________________________
66 // exported const
67 //_________________________________________________________________________________________________________________
69 //_________________________________________________________________________________________________________________
70 // exported definitions
71 //_________________________________________________________________________________________________________________
73 /*-************************************************************************************************************//**
74 @short
76 @descr -
78 @implements XInterface
79 XTypeProvider
80 XServiceInfo
81 XURLTransformer
83 @base ThreadHelpBase
84 OWeakObject
85 *//*-*************************************************************************************************************/
87 class URLTransformer : public ::cppu::WeakImplHelper2< ::com::sun::star::util::XURLTransformer, css::lang::XServiceInfo>
89 //-------------------------------------------------------------------------------------------------------------
90 // public methods
91 //-------------------------------------------------------------------------------------------------------------
93 public:
95 //---------------------------------------------------------------------------------------------------------
96 // constructor / destructor
97 //---------------------------------------------------------------------------------------------------------
99 /*-****************************************************************************************************//**
100 @short -
101 @descr -
103 @seealso -
105 @param -
106 @return -
108 @onerror -
109 *//*-*****************************************************************************************************/
111 URLTransformer( const css::uno::Reference< css::lang::XMultiServiceFactory >& sFactory );
113 /*-****************************************************************************************************//**
114 @short -
115 @descr -
117 @seealso -
119 @param -
120 @return -
122 @onerror -
123 *//*-*****************************************************************************************************/
125 virtual ~URLTransformer();
127 //---------------------------------------------------------------------------------------------------------
128 // XInterface, XTypeProvider, XServiceInfo
129 //---------------------------------------------------------------------------------------------------------
131 DECLARE_XSERVICEINFO
133 //---------------------------------------------------------------------------------------------------------
134 // XURLTransformer
135 //---------------------------------------------------------------------------------------------------------
137 /*-****************************************************************************************************//**
138 @short -
139 @descr -
141 @seealso -
143 @param -
144 @return -
146 @onerror -
147 *//*-*****************************************************************************************************/
149 virtual sal_Bool SAL_CALL parseStrict( css::util::URL& aURL ) throw( css::uno::RuntimeException );
151 /*-****************************************************************************************************//**
152 @short -
153 @descr -
155 @seealso -
157 @param -
158 @return -
160 @onerror -
161 *//*-*****************************************************************************************************/
163 virtual sal_Bool SAL_CALL parseSmart( css::util::URL& aURL ,
164 const ::rtl::OUString& sSmartProtocol ) throw( css::uno::RuntimeException );
166 /*-****************************************************************************************************//**
167 @short -
168 @descr -
170 @seealso -
172 @param -
173 @return -
175 @onerror -
176 *//*-*****************************************************************************************************/
178 virtual sal_Bool SAL_CALL assemble( css::util::URL& aURL ) throw( css::uno::RuntimeException );
180 /*-****************************************************************************************************//**
181 @short -
182 @descr -
184 @seealso -
186 @param -
187 @return -
189 @onerror -
190 *//*-*****************************************************************************************************/
192 virtual ::rtl::OUString SAL_CALL getPresentation( const css::util::URL& aURL ,
193 sal_Bool bWithPassword ) throw( css::uno::RuntimeException );
195 //-------------------------------------------------------------------------------------------------------------
196 // protected methods
197 //-------------------------------------------------------------------------------------------------------------
199 protected:
201 //-------------------------------------------------------------------------------------------------------------
202 // private methods
203 //-------------------------------------------------------------------------------------------------------------
205 private:
207 //-------------------------------------------------------------------------------------------------------------
208 // debug methods
209 // (should be private everyway!)
210 //-------------------------------------------------------------------------------------------------------------
213 //-------------------------------------------------------------------------------------------------------------
214 // variables
215 // (should be private everyway!)
216 //-------------------------------------------------------------------------------------------------------------
218 private:
220 css::uno::Reference< css::lang::XMultiServiceFactory > m_xFactory ; /// reference to factory, which has created this instance
222 }; // class URLTransformer
224 } // namespace framework
226 #endif // #ifndef __FRAMEWORK_SERVICES_URLTRANSFORMER_HXX_