xref: /AOO41X/main/sd/source/ui/inc/AccessibleSlideView.hxx (revision c45d927ae478a6b27be268f8970f881a09d05b3f)
1*c45d927aSAndrew Rist /**************************************************************
2cdf0e10cSrcweir  *
3*c45d927aSAndrew Rist  * Licensed to the Apache Software Foundation (ASF) under one
4*c45d927aSAndrew Rist  * or more contributor license agreements.  See the NOTICE file
5*c45d927aSAndrew Rist  * distributed with this work for additional information
6*c45d927aSAndrew Rist  * regarding copyright ownership.  The ASF licenses this file
7*c45d927aSAndrew Rist  * to you under the Apache License, Version 2.0 (the
8*c45d927aSAndrew Rist  * "License"); you may not use this file except in compliance
9*c45d927aSAndrew Rist  * with the License.  You may obtain a copy of the License at
10cdf0e10cSrcweir  *
11*c45d927aSAndrew Rist  *   http://www.apache.org/licenses/LICENSE-2.0
12cdf0e10cSrcweir  *
13*c45d927aSAndrew Rist  * Unless required by applicable law or agreed to in writing,
14*c45d927aSAndrew Rist  * software distributed under the License is distributed on an
15*c45d927aSAndrew Rist  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*c45d927aSAndrew Rist  * KIND, either express or implied.  See the License for the
17*c45d927aSAndrew Rist  * specific language governing permissions and limitations
18*c45d927aSAndrew Rist  * under the License.
19cdf0e10cSrcweir  *
20*c45d927aSAndrew Rist  *************************************************************/
21*c45d927aSAndrew Rist 
22*c45d927aSAndrew Rist 
23cdf0e10cSrcweir 
24cdf0e10cSrcweir #ifndef SD_ACCESSIBILITY_ACCESSIBLE_SLIDE_VIEW_HXX
25cdf0e10cSrcweir #define SD_ACCESSIBILITY_ACCESSIBLE_SLIDE_VIEW_HXX
26cdf0e10cSrcweir 
27cdf0e10cSrcweir #include <cppuhelper/implbase6.hxx>
28cdf0e10cSrcweir #include <cppuhelper/implbase7.hxx>
29cdf0e10cSrcweir #include "SlideView.hxx"
30cdf0e10cSrcweir #include <com/sun/star/lang/XUnoTunnel.hpp>
31cdf0e10cSrcweir #include <com/sun/star/accessibility/XAccessible.hpp>
32cdf0e10cSrcweir #include <com/sun/star/accessibility/XAccessibleContext.hpp>
33cdf0e10cSrcweir #include <com/sun/star/accessibility/XAccessibleComponent.hpp>
34cdf0e10cSrcweir #include <com/sun/star/accessibility/XAccessibleSelection.hpp>
35cdf0e10cSrcweir #include <com/sun/star/accessibility/XAccessibleEventBroadcaster.hpp>
36cdf0e10cSrcweir #include <com/sun/star/lang/XServiceInfo.hpp>
37cdf0e10cSrcweir 
38cdf0e10cSrcweir #include <vector>
39cdf0e10cSrcweir 
40cdf0e10cSrcweir class SdDrawDocument;
41cdf0e10cSrcweir class AccessibleSlideView;
42cdf0e10cSrcweir 
43cdf0e10cSrcweir namespace sd {
44cdf0e10cSrcweir class SlideView;
45cdf0e10cSrcweir class Window;
46cdf0e10cSrcweir }
47cdf0e10cSrcweir 
48cdf0e10cSrcweir // -----------------------------
49cdf0e10cSrcweir // - AccessibleSlideViewObject -
50cdf0e10cSrcweir // -----------------------------
51cdf0e10cSrcweir 
52cdf0e10cSrcweir class AccessibleSlideViewObject : public ::cppu::WeakImplHelper6<
53cdf0e10cSrcweir     ::com::sun::star::lang::XUnoTunnel,
54cdf0e10cSrcweir     ::com::sun::star::accessibility::XAccessible,
55cdf0e10cSrcweir     ::com::sun::star::accessibility::XAccessibleEventBroadcaster,
56cdf0e10cSrcweir     ::com::sun::star::accessibility::XAccessibleContext,
57cdf0e10cSrcweir     ::com::sun::star::accessibility::XAccessibleComponent,
58cdf0e10cSrcweir     ::com::sun::star::lang::XServiceInfo >
59cdf0e10cSrcweir {
60cdf0e10cSrcweir private:
61cdf0e10cSrcweir 
62cdf0e10cSrcweir     ::osl::Mutex                                                                                                            maMutex;
63cdf0e10cSrcweir     ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >                                mxParent;
64cdf0e10cSrcweir     AccessibleSlideView*                                                                                                    mpManager;
65cdf0e10cSrcweir     /// client id in the AccessibleEventNotifier queue
66cdf0e10cSrcweir     sal_uInt32                                                                                                              mnClientId;
67cdf0e10cSrcweir 	sal_uInt16		                                                                                                        mnPage;
68cdf0e10cSrcweir 	sal_Bool		                                                                                                        mbVisible;
69cdf0e10cSrcweir     sal_Bool                                                                                                                mbValid;
70cdf0e10cSrcweir 
71cdf0e10cSrcweir private:
72cdf0e10cSrcweir 
73cdf0e10cSrcweir 	// Misc
74cdf0e10cSrcweir     static const ::com::sun::star::uno::Sequence< sal_Int8 >& getUnoTunnelId();
75cdf0e10cSrcweir 
76cdf0e10cSrcweir     // XUnoTunnel
77cdf0e10cSrcweir     virtual sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence< sal_Int8 >& rId ) throw( ::com::sun::star::uno::RuntimeException );
78cdf0e10cSrcweir 
79cdf0e10cSrcweir     // XAccessible
80cdf0e10cSrcweir     virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleContext > SAL_CALL getAccessibleContext(  ) throw (::com::sun::star::uno::RuntimeException);
81cdf0e10cSrcweir 
82cdf0e10cSrcweir     // XAccessibleEventBroadcaster
83cdf0e10cSrcweir     virtual void SAL_CALL addEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleEventListener >& xListener ) throw (::com::sun::star::uno::RuntimeException);
84cdf0e10cSrcweir     virtual void SAL_CALL removeEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleEventListener >& xListener ) throw (::com::sun::star::uno::RuntimeException);
85cdf0e10cSrcweir 
86cdf0e10cSrcweir     // XAccessibleContext
87cdf0e10cSrcweir     virtual sal_Int32 SAL_CALL getAccessibleChildCount(  ) throw (::com::sun::star::uno::RuntimeException);
88cdf0e10cSrcweir     virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > SAL_CALL getAccessibleChild( sal_Int32 i ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException);
89cdf0e10cSrcweir     virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > SAL_CALL getAccessibleParent(  ) throw (::com::sun::star::uno::RuntimeException);
90cdf0e10cSrcweir     virtual sal_Int32 SAL_CALL getAccessibleIndexInParent(  ) throw (::com::sun::star::uno::RuntimeException);
91cdf0e10cSrcweir     virtual sal_Int16 SAL_CALL getAccessibleRole(  ) throw (::com::sun::star::uno::RuntimeException);
92cdf0e10cSrcweir     virtual ::rtl::OUString SAL_CALL getAccessibleDescription(  ) throw (::com::sun::star::uno::RuntimeException);
93cdf0e10cSrcweir     virtual ::rtl::OUString SAL_CALL getAccessibleName(  ) throw (::com::sun::star::uno::RuntimeException);
94cdf0e10cSrcweir     virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleRelationSet > SAL_CALL getAccessibleRelationSet(  ) throw (::com::sun::star::uno::RuntimeException);
95cdf0e10cSrcweir     virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleStateSet > SAL_CALL getAccessibleStateSet(  ) throw (::com::sun::star::uno::RuntimeException);
96cdf0e10cSrcweir     virtual ::com::sun::star::lang::Locale SAL_CALL getLocale(  ) throw (::com::sun::star::accessibility::IllegalAccessibleComponentStateException, ::com::sun::star::uno::RuntimeException);
97cdf0e10cSrcweir 
98cdf0e10cSrcweir     // XAccessibleComponent
99cdf0e10cSrcweir     virtual sal_Bool SAL_CALL containsPoint( const ::com::sun::star::awt::Point& aPoint ) throw (::com::sun::star::uno::RuntimeException);
100cdf0e10cSrcweir     virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > SAL_CALL getAccessibleAtPoint( const ::com::sun::star::awt::Point& aPoint ) throw (::com::sun::star::uno::RuntimeException);
101cdf0e10cSrcweir     virtual ::com::sun::star::awt::Rectangle SAL_CALL getBounds(  ) throw (::com::sun::star::uno::RuntimeException);
102cdf0e10cSrcweir     virtual ::com::sun::star::awt::Point SAL_CALL getLocation(  ) throw (::com::sun::star::uno::RuntimeException);
103cdf0e10cSrcweir     virtual ::com::sun::star::awt::Point SAL_CALL getLocationOnScreen(  ) throw (::com::sun::star::uno::RuntimeException);
104cdf0e10cSrcweir     virtual ::com::sun::star::awt::Size SAL_CALL getSize(  ) throw (::com::sun::star::uno::RuntimeException);
105cdf0e10cSrcweir     virtual void SAL_CALL grabFocus(  ) throw (::com::sun::star::uno::RuntimeException);
106cdf0e10cSrcweir 
107cdf0e10cSrcweir     virtual sal_Int32 SAL_CALL getForeground (void)
108cdf0e10cSrcweir         throw (::com::sun::star::uno::RuntimeException);
109cdf0e10cSrcweir 
110cdf0e10cSrcweir     virtual sal_Int32 SAL_CALL getBackground (void)
111cdf0e10cSrcweir         throw (::com::sun::star::uno::RuntimeException);
112cdf0e10cSrcweir 
113cdf0e10cSrcweir 	//=====  XServiceInfo  ====================================================
114cdf0e10cSrcweir 
115cdf0e10cSrcweir     /**	Returns an identifier for the implementation of this object.
116cdf0e10cSrcweir     */
117cdf0e10cSrcweir 	virtual ::rtl::OUString SAL_CALL
118cdf0e10cSrcweir     	getImplementationName (void)
119cdf0e10cSrcweir         throw (::com::sun::star::uno::RuntimeException);
120cdf0e10cSrcweir 
121cdf0e10cSrcweir     /**	Return whether the specified service is supported by this class.
122cdf0e10cSrcweir     */
123cdf0e10cSrcweir     virtual sal_Bool SAL_CALL
124cdf0e10cSrcweir     	supportsService (const ::rtl::OUString& sServiceName)
125cdf0e10cSrcweir         throw (::com::sun::star::uno::RuntimeException);
126cdf0e10cSrcweir 
127cdf0e10cSrcweir     /** Returns a list of all supported services.
128cdf0e10cSrcweir     */
129cdf0e10cSrcweir 	virtual ::com::sun::star::uno::Sequence< ::rtl::OUString> SAL_CALL
130cdf0e10cSrcweir     	getSupportedServiceNames (void)
131cdf0e10cSrcweir         throw (::com::sun::star::uno::RuntimeException);
132cdf0e10cSrcweir 
133cdf0e10cSrcweir public:
134cdf0e10cSrcweir 
135cdf0e10cSrcweir     static AccessibleSlideViewObject* getImplementation( const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& rxData ) throw();
136cdf0e10cSrcweir 
137cdf0e10cSrcweir public:
138cdf0e10cSrcweir 
139cdf0e10cSrcweir 					            AccessibleSlideViewObject( const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >& rxParent, sal_uInt16 nPage, sal_Bool bVisible );
140cdf0e10cSrcweir 					            ~AccessibleSlideViewObject();
141cdf0e10cSrcweir 
142cdf0e10cSrcweir     void                        FireAccessibleEvent( short nEventId, const ::com::sun::star::uno::Any& rOldValue, const ::com::sun::star::uno::Any& rNewValue );
143cdf0e10cSrcweir 
144cdf0e10cSrcweir     /** This method acts like a dispose call.  It sends a disposing to all
145cdf0e10cSrcweir         of its listeners.  It may be called twice.
146cdf0e10cSrcweir     */
147cdf0e10cSrcweir     void Destroyed (void);
148cdf0e10cSrcweir 
149cdf0e10cSrcweir     sal_uInt16                  GetPageNum() const { return mnPage; }
150cdf0e10cSrcweir 
151cdf0e10cSrcweir     void			            SetVisible( sal_Bool bVisible );
152cdf0e10cSrcweir 	sal_Bool		            IsVisible() const;
153cdf0e10cSrcweir };
154cdf0e10cSrcweir 
155cdf0e10cSrcweir // -----------------------
156cdf0e10cSrcweir // - AccessibleSlideView -
157cdf0e10cSrcweir // -----------------------
158cdf0e10cSrcweir 
159cdf0e10cSrcweir class AccessibleSlideView : public ::cppu::WeakImplHelper7<
160cdf0e10cSrcweir     ::com::sun::star::lang::XUnoTunnel,
161cdf0e10cSrcweir     ::com::sun::star::accessibility::XAccessible,
162cdf0e10cSrcweir     ::com::sun::star::accessibility::XAccessibleEventBroadcaster,
163cdf0e10cSrcweir     ::com::sun::star::accessibility::XAccessibleContext,
164cdf0e10cSrcweir     ::com::sun::star::accessibility::XAccessibleComponent,
165cdf0e10cSrcweir     ::com::sun::star::accessibility::XAccessibleSelection,
166cdf0e10cSrcweir     ::com::sun::star::lang::XServiceInfo >
167cdf0e10cSrcweir {
168cdf0e10cSrcweir public:
169cdf0e10cSrcweir 
170cdf0e10cSrcweir     static AccessibleSlideView* getImplementation( const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& rxData ) throw();
171cdf0e10cSrcweir 
172cdf0e10cSrcweir     AccessibleSlideView(
173cdf0e10cSrcweir         SdDrawDocument& rDoc,
174cdf0e10cSrcweir         ::sd::SlideView& rView,
175cdf0e10cSrcweir         ::sd::Window& rParentWindow);
176cdf0e10cSrcweir     virtual ~AccessibleSlideView (void);
177cdf0e10cSrcweir 
178cdf0e10cSrcweir     void                        FireAccessibleEvent( short nEventId, const ::com::sun::star::uno::Any& rOldValue, const ::com::sun::star::uno::Any& rNewValue );
179cdf0e10cSrcweir 
180cdf0e10cSrcweir     /** This method acts like a dispose call.  It sends a disposing to all
181cdf0e10cSrcweir         of its listeners.  It may be called twice.
182cdf0e10cSrcweir     */
183cdf0e10cSrcweir     void Destroyed (void);
184cdf0e10cSrcweir 
185cdf0e10cSrcweir     SdDrawDocument*             GetDrawDocument() const { return mpDoc; }
186cdf0e10cSrcweir     ::sd::SlideView* GetSlideView() const { return mpView; }
187cdf0e10cSrcweir     ::sd::Window* GetParentWindow() const { return mpParentWindow; }
188cdf0e10cSrcweir 
189cdf0e10cSrcweir 	void			            SetPageVisible( sal_uInt16 nPage, sal_Bool bVisible );
190cdf0e10cSrcweir 	void			            Reset();
191cdf0e10cSrcweir     void                        FocusHasChanged( sal_uInt16 nOldFocusPage, sal_uInt16 nNewFocusPage );
192cdf0e10cSrcweir 
193cdf0e10cSrcweir 
194cdf0e10cSrcweir private:
195cdf0e10cSrcweir     ::osl::Mutex maMutex;
196cdf0e10cSrcweir 	::std::vector< ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > >               maSlidePageObjects;
197cdf0e10cSrcweir     SdDrawDocument* mpDoc;
198cdf0e10cSrcweir 	::sd::SlideView* mpView;
199cdf0e10cSrcweir     ::sd::Window* mpParentWindow;
200cdf0e10cSrcweir      /// client id in the AccessibleEventNotifier queue
201cdf0e10cSrcweir     sal_uInt32 mnClientId;
202cdf0e10cSrcweir 
203cdf0e10cSrcweir     // internal
204cdf0e10cSrcweir 	static const ::com::sun::star::uno::Sequence< sal_Int8 >&                                   getUnoTunnelId();
205cdf0e10cSrcweir     sal_Int32                                                                                   ImplGetVisibleChildCount() const;
206cdf0e10cSrcweir     ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >    ImplGetVisibleChild( sal_Int32 nVisibleChild ) const;
207cdf0e10cSrcweir 
208cdf0e10cSrcweir     // XUnoTunnel
209cdf0e10cSrcweir     virtual sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence< sal_Int8 >& rId ) throw( ::com::sun::star::uno::RuntimeException );
210cdf0e10cSrcweir 
211cdf0e10cSrcweir     // XAccessible
212cdf0e10cSrcweir     virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleContext > SAL_CALL getAccessibleContext(  ) throw (::com::sun::star::uno::RuntimeException);
213cdf0e10cSrcweir 
214cdf0e10cSrcweir     // XAccessibleEventBroadcaster
215cdf0e10cSrcweir     virtual void SAL_CALL addEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleEventListener >& xListener ) throw (::com::sun::star::uno::RuntimeException);
216cdf0e10cSrcweir     virtual void SAL_CALL removeEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleEventListener >& xListener ) throw (::com::sun::star::uno::RuntimeException);
217cdf0e10cSrcweir 
218cdf0e10cSrcweir     // XAccessibleContext
219cdf0e10cSrcweir     virtual sal_Int32 SAL_CALL getAccessibleChildCount(  ) throw (::com::sun::star::uno::RuntimeException);
220cdf0e10cSrcweir     virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > SAL_CALL getAccessibleChild( sal_Int32 i ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException);
221cdf0e10cSrcweir     virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > SAL_CALL getAccessibleParent(  ) throw (::com::sun::star::uno::RuntimeException);
222cdf0e10cSrcweir     virtual sal_Int32 SAL_CALL getAccessibleIndexInParent(  ) throw (::com::sun::star::uno::RuntimeException);
223cdf0e10cSrcweir     virtual sal_Int16 SAL_CALL getAccessibleRole(  ) throw (::com::sun::star::uno::RuntimeException);
224cdf0e10cSrcweir     virtual ::rtl::OUString SAL_CALL getAccessibleDescription(  ) throw (::com::sun::star::uno::RuntimeException);
225cdf0e10cSrcweir     virtual ::rtl::OUString SAL_CALL getAccessibleName(  ) throw (::com::sun::star::uno::RuntimeException);
226cdf0e10cSrcweir     virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleRelationSet > SAL_CALL getAccessibleRelationSet(  ) throw (::com::sun::star::uno::RuntimeException);
227cdf0e10cSrcweir     virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessibleStateSet > SAL_CALL getAccessibleStateSet(  ) throw (::com::sun::star::uno::RuntimeException);
228cdf0e10cSrcweir     virtual ::com::sun::star::lang::Locale SAL_CALL getLocale(  ) throw (::com::sun::star::accessibility::IllegalAccessibleComponentStateException, ::com::sun::star::uno::RuntimeException);
229cdf0e10cSrcweir 
230cdf0e10cSrcweir     // XAccessibleComponent
231cdf0e10cSrcweir     virtual sal_Bool SAL_CALL containsPoint( const ::com::sun::star::awt::Point& aPoint ) throw (::com::sun::star::uno::RuntimeException);
232cdf0e10cSrcweir     virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > SAL_CALL getAccessibleAtPoint( const ::com::sun::star::awt::Point& aPoint ) throw (::com::sun::star::uno::RuntimeException);
233cdf0e10cSrcweir     virtual ::com::sun::star::awt::Rectangle SAL_CALL getBounds(  ) throw (::com::sun::star::uno::RuntimeException);
234cdf0e10cSrcweir     virtual ::com::sun::star::awt::Point SAL_CALL getLocation(  ) throw (::com::sun::star::uno::RuntimeException);
235cdf0e10cSrcweir     virtual ::com::sun::star::awt::Point SAL_CALL getLocationOnScreen(  ) throw (::com::sun::star::uno::RuntimeException);
236cdf0e10cSrcweir     virtual ::com::sun::star::awt::Size SAL_CALL getSize(  ) throw (::com::sun::star::uno::RuntimeException);
237cdf0e10cSrcweir     virtual void SAL_CALL grabFocus(  ) throw (::com::sun::star::uno::RuntimeException);
238cdf0e10cSrcweir 
239cdf0e10cSrcweir     virtual sal_Int32 SAL_CALL getForeground (void)
240cdf0e10cSrcweir         throw (::com::sun::star::uno::RuntimeException);
241cdf0e10cSrcweir 
242cdf0e10cSrcweir     virtual sal_Int32 SAL_CALL getBackground (void)
243cdf0e10cSrcweir         throw (::com::sun::star::uno::RuntimeException);
244cdf0e10cSrcweir 
245cdf0e10cSrcweir     // XAccessibleSelection
246cdf0e10cSrcweir     virtual void SAL_CALL selectAccessibleChild( sal_Int32 nChildIndex ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException);
247cdf0e10cSrcweir     virtual sal_Bool SAL_CALL isAccessibleChildSelected( sal_Int32 nChildIndex ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException);
248cdf0e10cSrcweir     virtual void SAL_CALL clearAccessibleSelection(  ) throw (::com::sun::star::uno::RuntimeException);
249cdf0e10cSrcweir     virtual void SAL_CALL selectAllAccessibleChildren(  ) throw (::com::sun::star::uno::RuntimeException);
250cdf0e10cSrcweir     virtual sal_Int32 SAL_CALL getSelectedAccessibleChildCount(  ) throw (::com::sun::star::uno::RuntimeException);
251cdf0e10cSrcweir     virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > SAL_CALL getSelectedAccessibleChild( sal_Int32 nSelectedChildIndex ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException);
252cdf0e10cSrcweir     virtual void SAL_CALL deselectAccessibleChild( sal_Int32 nSelectedChildIndex ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException);
253cdf0e10cSrcweir 
254cdf0e10cSrcweir 	//=====  XServiceInfo  ====================================================
255cdf0e10cSrcweir 
256cdf0e10cSrcweir     /**	Returns an identifier for the implementation of this object.
257cdf0e10cSrcweir     */
258cdf0e10cSrcweir 	virtual ::rtl::OUString SAL_CALL
259cdf0e10cSrcweir     	getImplementationName (void)
260cdf0e10cSrcweir         throw (::com::sun::star::uno::RuntimeException);
261cdf0e10cSrcweir 
262cdf0e10cSrcweir     /**	Return whether the specified service is supported by this class.
263cdf0e10cSrcweir     */
264cdf0e10cSrcweir     virtual sal_Bool SAL_CALL
265cdf0e10cSrcweir     	supportsService (const ::rtl::OUString& sServiceName)
266cdf0e10cSrcweir         throw (::com::sun::star::uno::RuntimeException);
267cdf0e10cSrcweir 
268cdf0e10cSrcweir     /** Returns a list of all supported services.
269cdf0e10cSrcweir     */
270cdf0e10cSrcweir 	virtual ::com::sun::star::uno::Sequence< ::rtl::OUString> SAL_CALL
271cdf0e10cSrcweir     	getSupportedServiceNames (void)
272cdf0e10cSrcweir         throw (::com::sun::star::uno::RuntimeException);
273cdf0e10cSrcweir 
274cdf0e10cSrcweir };
275cdf0e10cSrcweir 
276cdf0e10cSrcweir #endif
277