1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ 2 /* 3 * This file is part of the LibreOffice project. 4 * 5 * This Source Code Form is subject to the terms of the Mozilla Public 6 * License, v. 2.0. If a copy of the MPL was not distributed with this 7 * file, You can obtain one at http://mozilla.org/MPL/2.0/. 8 * 9 * This file incorporates work covered by the following license notice: 10 * 11 * Licensed to the Apache Software Foundation (ASF) under one or more 12 * contributor license agreements. See the NOTICE file distributed 13 * with this work for additional information regarding copyright 14 * ownership. The ASF licenses this file to you under the Apache 15 * License, Version 2.0 (the "License"); you may not use this file 16 * except in compliance with the License. You may obtain a copy of 17 * the License at http://www.apache.org/licenses/LICENSE-2.0 . 18 */ 19 #ifndef INCLUDED_SW_INC_UNOCOLL_HXX 20 #define INCLUDED_SW_INC_UNOCOLL_HXX 21 #include <limits.h> 22 #include "flyenum.hxx" 23 #include <com/sun/star/lang/XServiceInfo.hpp> 24 #include <com/sun/star/container/XEnumerationAccess.hpp> 25 #include <com/sun/star/container/XNameAccess.hpp> 26 #include <com/sun/star/container/XIndexAccess.hpp> 27 #include <cppuhelper/implbase.hxx> 28 #include "swdllapi.h" 29 30 class SwDoc; 31 class SwFrameFormat; 32 namespace com{namespace sun {namespace star {namespace text 33 { 34 class XTextTable; 35 class XTextSection; 36 class XFootnote; 37 }}}} 38 class SwFormatFootnote; 39 class SwSectionFormat; 40 struct SvEventDescription; 41 42 const SvEventDescription* sw_GetSupportedMacroItems(); 43 44 class SwUnoCollection 45 { 46 SwDoc* m_pDoc; 47 bool m_bObjectValid; 48 49 public: SwUnoCollection(SwDoc * p)50 SwUnoCollection(SwDoc* p) : 51 m_pDoc(p), 52 m_bObjectValid(true){} 53 ~SwUnoCollection()54 virtual ~SwUnoCollection() {} 55 56 virtual void Invalidate(); IsValid() const57 bool IsValid() const {return m_bObjectValid;} 58 GetDoc() const59 SwDoc* GetDoc() const {return m_pDoc;} 60 }; 61 62 /** entries in this enum are mapped in an array in unocoll.cxx */ 63 enum class SwServiceType { 64 TypeTextTable = 0, 65 TypeTextFrame = 1, 66 TypeGraphic = 2, 67 TypeOLE = 3, 68 TypeBookmark = 4, 69 TypeFootnote = 5, 70 TypeEndnote = 6, 71 TypeIndexMark = 7, 72 TypeIndex = 8, 73 ReferenceMark = 9, 74 StyleCharacter = 10, 75 StyleParagraph = 11, 76 StyleFrame = 12, 77 StylePage = 13, 78 StyleNumbering = 14, 79 ContentIndexMark = 15, 80 ContentIndex = 16, 81 UserIndexMark = 17, 82 UserIndex = 18, 83 TextSection = 19, 84 FieldTypeDateTime = 20, 85 FieldTypeUser = 21, 86 FieldTypeSetExp = 22, 87 FieldTypeGetExp = 23, 88 FieldTypeFileName = 24, 89 FieldTypePageNum = 25, 90 FieldTypeAuthor = 26, 91 FieldTypeChapter = 27, 92 FieldTypeDummy0 = 28, 93 FieldTypeGetReference = 29, 94 FieldTypeConditionedText = 30, 95 FieldTypeAnnotation = 31, 96 FieldTypeInput = 32, 97 FieldTypeMacro = 33, 98 FieldTypeDDE = 34, 99 FieldTypeHiddenPara = 35, 100 FieldTypeDocInfo = 36, 101 FieldTypeTemplateName = 37, 102 FieldTypeUserExt = 38, 103 FieldTypeRefPageSet = 39, 104 FieldTypeRefPageGet = 40, 105 FieldTypeJumpEdit = 41, 106 FieldTypeScript = 42, 107 FieldTypeDatabaseNextSet = 43, 108 FieldTypeDatabaseNumSet = 44, 109 FieldTypeDatabaseSetNum = 45, 110 FieldTypeDatabase = 46, 111 FieldTypeDatabaseName = 47, 112 FieldTypeTableFormula = 48, 113 FieldTypePageCount = 49, 114 FieldTypeParagraphCount = 50, 115 FieldTypeWordCount = 51, 116 FieldTypeCharacterCount = 52, 117 FieldTypeTableCount = 53, 118 FieldTypeGraphicObjectCount = 54, 119 FieldTypeEmbeddedObjectCount = 55, 120 FieldTypeDocInfoChangeAuthor = 56, 121 FieldTypeDocInfoChangeDateTime = 57, 122 FieldTypeDocInfoEditTime = 58, 123 FieldTypeDocInfoDescription = 59, 124 FieldTypeDocInfoCreateAuthor = 60, 125 FieldTypeDocInfoCreateDateTime = 61, 126 FieldTypeDummy1 = 63, 127 FieldTypeDummy2 = 64, 128 FieldTypeDummy3 = 65, 129 FieldTypeDocInfoCustom = 66, 130 FieldTypeDocInfoPrintAuthor = 67, 131 FieldTypeDocInfoPrintDateTime = 68, 132 FieldTypeDocInfoKeywords = 69, 133 FieldTypeDocInfoSubject = 70, 134 FieldTypeDocInfoTitle = 71, 135 FieldTypeDocInfoRevision = 72, 136 FieldTypeBibliography = 73, 137 FieldTypeCombinedCharacters = 74, 138 FieldTypeDropdown = 75, 139 FieldTypeMetafield = 76, 140 FieldTypeDummy4 = 77, 141 FieldTypeDummy5 = 78, 142 FieldTypeDummy6 = 79, 143 FieldTypeDummy7 = 80, 144 FieldMasterUser = 81, 145 FieldMasterDDE = 82, 146 FieldMasterSetExp = 83, 147 FieldMasterDatabase = 84, 148 FieldMasterBibliography = 85, 149 FieldMasterDummy2 = 86, 150 FieldMasterDummy3 = 87, 151 FieldMasterDummy4 = 88, 152 FieldMasterDummy5 = 89, 153 IndexIllustrations = 90, 154 IndexObjects = 91, 155 IndexTables = 92, 156 IndexBibliography = 93, 157 Paragraph = 94, 158 FieldTypeInputUser = 95, 159 FieldTypeHiddenText = 96, 160 StyleConditionalParagraph = 97, 161 NumberingRules = 98, 162 TextColumns = 99, 163 IndexHeaderSection = 100, 164 Defaults = 101, 165 IMapRectangle = 102, 166 IMapCircle = 103, 167 IMapPolygon = 104, 168 TypeTextGraphic = 105, 169 Chart2DataProvider = 106, 170 TypeFieldMark = 107, 171 TypeFormFieldMark = 108, 172 TypeMeta = 109, 173 VbaObjectProvider = 110, 174 VbaCodeNameProvider = 111, 175 VbaProjectNameProvider = 112, 176 VbaGlobals = 113, 177 StyleTable = 114, 178 StyleCell = 115, 179 180 Invalid = USHRT_MAX 181 }; 182 183 // case-corrected versions of service-names (see #i67811) 184 185 #define CSS_TEXT_TEXTFIELD_DATE_TIME "com.sun.star.text.textfield.DateTime" 186 #define CSS_TEXT_TEXTFIELD_USER "com.sun.star.text.textfield.User" 187 #define CSS_TEXT_TEXTFIELD_SET_EXPRESSION "com.sun.star.text.textfield.SetExpression" 188 #define CSS_TEXT_TEXTFIELD_GET_EXPRESSION "com.sun.star.text.textfield.GetExpression" 189 #define CSS_TEXT_TEXTFIELD_FILE_NAME "com.sun.star.text.textfield.FileName" 190 #define CSS_TEXT_TEXTFIELD_PAGE_NUMBER "com.sun.star.text.textfield.PageNumber" 191 #define CSS_TEXT_TEXTFIELD_AUTHOR "com.sun.star.text.textfield.Author" 192 #define CSS_TEXT_TEXTFIELD_CHAPTER "com.sun.star.text.textfield.Chapter" 193 #define CSS_TEXT_TEXTFIELD_GET_REFERENCE "com.sun.star.text.textfield.GetReference" 194 #define CSS_TEXT_TEXTFIELD_CONDITIONAL_TEXT "com.sun.star.text.textfield.ConditionalText" 195 #define CSS_TEXT_TEXTFIELD_ANNOTATION "com.sun.star.text.textfield.Annotation" 196 #define CSS_TEXT_TEXTFIELD_INPUT "com.sun.star.text.textfield.Input" 197 #define CSS_TEXT_TEXTFIELD_MACRO "com.sun.star.text.textfield.Macro" 198 #define CSS_TEXT_TEXTFIELD_DDE "com.sun.star.text.textfield.DDE" 199 #define CSS_TEXT_TEXTFIELD_HIDDEN_PARAGRAPH "com.sun.star.text.textfield.HiddenParagraph" 200 #define CSS_TEXT_TEXTFIELD_TEMPLATE_NAME "com.sun.star.text.textfield.TemplateName" 201 #define CSS_TEXT_TEXTFIELD_EXTENDED_USER "com.sun.star.text.textfield.ExtendedUser" 202 #define CSS_TEXT_TEXTFIELD_REFERENCE_PAGE_SET "com.sun.star.text.textfield.ReferencePageSet" 203 #define CSS_TEXT_TEXTFIELD_REFERENCE_PAGE_GET "com.sun.star.text.textfield.ReferencePageGet" 204 #define CSS_TEXT_TEXTFIELD_JUMP_EDIT "com.sun.star.text.textfield.JumpEdit" 205 #define CSS_TEXT_TEXTFIELD_SCRIPT "com.sun.star.text.textfield.Script" 206 #define CSS_TEXT_TEXTFIELD_DATABASE_NEXT_SET "com.sun.star.text.textfield.DatabaseNextSet" 207 #define CSS_TEXT_TEXTFIELD_DATABASE_NUMBER_OF_SET "com.sun.star.text.textfield.DatabaseNumberOfSet" 208 #define CSS_TEXT_TEXTFIELD_DATABASE_SET_NUMBER "com.sun.star.text.textfield.DatabaseSetNumber" 209 #define CSS_TEXT_TEXTFIELD_DATABASE "com.sun.star.text.textfield.Database" 210 #define CSS_TEXT_TEXTFIELD_DATABASE_NAME "com.sun.star.text.textfield.DatabaseName" 211 #define CSS_TEXT_TEXTFIELD_TABLE_FORMULA "com.sun.star.text.textfield.TableFormula" 212 #define CSS_TEXT_TEXTFIELD_PAGE_COUNT "com.sun.star.text.textfield.PageCount" 213 #define CSS_TEXT_TEXTFIELD_PARAGRAPH_COUNT "com.sun.star.text.textfield.ParagraphCount" 214 #define CSS_TEXT_TEXTFIELD_WORD_COUNT "com.sun.star.text.textfield.WordCount" 215 #define CSS_TEXT_TEXTFIELD_CHARACTER_COUNT "com.sun.star.text.textfield.CharacterCount" 216 #define CSS_TEXT_TEXTFIELD_TABLE_COUNT "com.sun.star.text.textfield.TableCount" 217 #define CSS_TEXT_TEXTFIELD_GRAPHIC_OBJECT_COUNT "com.sun.star.text.textfield.GraphicObjectCount" 218 #define CSS_TEXT_TEXTFIELD_EMBEDDED_OBJECT_COUNT "com.sun.star.text.textfield.EmbeddedObjectCount" 219 #define CSS_TEXT_TEXTFIELD_DOCINFO_CHANGE_AUTHOR "com.sun.star.text.textfield.docinfo.ChangeAuthor" 220 #define CSS_TEXT_TEXTFIELD_DOCINFO_CHANGE_DATE_TIME "com.sun.star.text.textfield.docinfo.ChangeDateTime" 221 #define CSS_TEXT_TEXTFIELD_DOCINFO_EDIT_TIME "com.sun.star.text.textfield.docinfo.EditTime" 222 #define CSS_TEXT_TEXTFIELD_DOCINFO_DESCRIPTION "com.sun.star.text.textfield.docinfo.Description" 223 #define CSS_TEXT_TEXTFIELD_DOCINFO_CREATE_AUTHOR "com.sun.star.text.textfield.docinfo.CreateAuthor" 224 #define CSS_TEXT_TEXTFIELD_DOCINFO_CREATE_DATE_TIME "com.sun.star.text.textfield.docinfo.CreateDateTime" 225 #define CSS_TEXT_TEXTFIELD_DOCINFO_PRINT_AUTHOR "com.sun.star.text.textfield.docinfo.PrintAuthor" 226 #define CSS_TEXT_TEXTFIELD_DOCINFO_PRINT_DATE_TIME "com.sun.star.text.textfield.docinfo.PrintDateTime" 227 #define CSS_TEXT_TEXTFIELD_DOCINFO_KEY_WORDS "com.sun.star.text.textfield.docinfo.KeyWords" 228 #define CSS_TEXT_TEXTFIELD_DOCINFO_SUBJECT "com.sun.star.text.textfield.docinfo.Subject" 229 #define CSS_TEXT_TEXTFIELD_DOCINFO_TITLE "com.sun.star.text.textfield.docinfo.Title" 230 #define CSS_TEXT_TEXTFIELD_DOCINFO_REVISION "com.sun.star.text.textfield.docinfo.Revision" 231 #define CSS_TEXT_TEXTFIELD_DOCINFO_CUSTOM "com.sun.star.text.textfield.docinfo.Custom" 232 #define CSS_TEXT_TEXTFIELD_BIBLIOGRAPHY "com.sun.star.text.textfield.Bibliography" 233 #define CSS_TEXT_TEXTFIELD_COMBINED_CHARACTERS "com.sun.star.text.textfield.CombinedCharacters" 234 #define CSS_TEXT_TEXTFIELD_DROP_DOWN "com.sun.star.text.textfield.DropDown" 235 #define CSS_TEXT_TEXTFIELD_INPUT_USER "com.sun.star.text.textfield.InputUser" 236 #define CSS_TEXT_TEXTFIELD_HIDDEN_TEXT "com.sun.star.text.textfield.HiddenText" 237 #define CSS_TEXT_FIELDMASTER_USER "com.sun.star.text.fieldmaster.User" 238 #define CSS_TEXT_FIELDMASTER_DDE "com.sun.star.text.fieldmaster.DDE" 239 #define CSS_TEXT_FIELDMASTER_SET_EXPRESSION "com.sun.star.text.fieldmaster.SetExpression" 240 #define CSS_TEXT_FIELDMASTER_DATABASE "com.sun.star.text.fieldmaster.Database" 241 #define CSS_TEXT_FIELDMASTER_BIBLIOGRAPHY "com.sun.star.text.fieldmaster.Bibliography" 242 243 class SwXServiceProvider 244 { 245 public: 246 static OUString GetProviderName(SwServiceType nObjectType); 247 static SwServiceType GetProviderType(const OUString& rServiceName); 248 static css::uno::Reference< css::uno::XInterface > MakeInstance(SwServiceType nObjectType, SwDoc & rDoc); 249 static css::uno::Sequence<OUString> GetAllServiceNames(); 250 251 }; 252 253 typedef 254 cppu::WeakImplHelper 255 < 256 css::container::XNameAccess, 257 css::container::XIndexAccess, 258 css::lang::XServiceInfo 259 > 260 SwCollectionBaseClass; 261 class SW_DLLPUBLIC SwXTextTables final : public SwCollectionBaseClass, 262 public SwUnoCollection 263 { 264 virtual ~SwXTextTables() override; 265 public: 266 SwXTextTables(SwDoc* pDoc); 267 268 //XIndexAccess 269 virtual sal_Int32 SAL_CALL getCount( ) override; 270 virtual css::uno::Any SAL_CALL getByIndex(sal_Int32 nIndex) override; 271 272 //XNameAccess 273 virtual css::uno::Any SAL_CALL getByName(const OUString& Name) override; 274 virtual css::uno::Sequence< OUString > SAL_CALL getElementNames() override; 275 virtual sal_Bool SAL_CALL hasByName(const OUString& Name) override; 276 277 //XElementAccess 278 virtual css::uno::Type SAL_CALL getElementType( ) override; 279 virtual sal_Bool SAL_CALL hasElements( ) override; 280 281 //XServiceInfo 282 virtual OUString SAL_CALL getImplementationName() override; 283 virtual sal_Bool SAL_CALL supportsService(const OUString& ServiceName) override; 284 virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override; 285 286 static css::uno::Reference<css::text::XTextTable> GetObject(SwFrameFormat& rFormat); 287 }; 288 289 typedef 290 cppu::WeakImplHelper 291 < 292 css::container::XEnumerationAccess, 293 css::container::XNameAccess, 294 css::container::XIndexAccess, 295 css::lang::XServiceInfo 296 > SwXFramesBaseClass; 297 298 class SwXFrames : public SwXFramesBaseClass, 299 public SwUnoCollection 300 { 301 const FlyCntType m_eType; 302 protected: 303 virtual ~SwXFrames() override; 304 public: 305 SwXFrames(SwDoc* pDoc, FlyCntType eSet); 306 307 //XEnumerationAccess 308 virtual css::uno::Reference< css::container::XEnumeration > SAL_CALL createEnumeration() override; 309 310 //XIndexAccess 311 virtual sal_Int32 SAL_CALL getCount() override; 312 virtual css::uno::Any SAL_CALL getByIndex(sal_Int32 nIndex) override; 313 314 //XNameAccess 315 virtual css::uno::Any SAL_CALL getByName(const OUString& Name) override; 316 virtual css::uno::Sequence< OUString > SAL_CALL getElementNames() override; 317 virtual sal_Bool SAL_CALL hasByName(const OUString& Name) override; 318 319 //XElementAccess 320 virtual css::uno::Type SAL_CALL getElementType( ) override; 321 virtual sal_Bool SAL_CALL hasElements( ) override; 322 323 //XServiceInfo 324 virtual OUString SAL_CALL getImplementationName() override; 325 virtual sal_Bool SAL_CALL supportsService(const OUString& ServiceName) override; 326 virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override; 327 }; 328 329 class SwXTextFrames final : public SwXFrames 330 { 331 virtual ~SwXTextFrames() override; 332 public: 333 SwXTextFrames(SwDoc* pDoc); 334 335 //XServiceInfo 336 virtual OUString SAL_CALL getImplementationName() override; 337 virtual sal_Bool SAL_CALL supportsService(const OUString& ServiceName) override; 338 virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override; 339 340 }; 341 342 class SwXTextGraphicObjects final : public SwXFrames 343 { 344 virtual ~SwXTextGraphicObjects() override; 345 public: 346 SwXTextGraphicObjects(SwDoc* pDoc); 347 348 //XServiceInfo 349 virtual OUString SAL_CALL getImplementationName() override; 350 virtual sal_Bool SAL_CALL supportsService(const OUString& ServiceName) override; 351 virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override; 352 353 }; 354 355 class SwXTextEmbeddedObjects final : public SwXFrames 356 { 357 virtual ~SwXTextEmbeddedObjects() override; 358 public: 359 SwXTextEmbeddedObjects(SwDoc* pDoc); 360 361 //XServiceInfo 362 virtual OUString SAL_CALL getImplementationName() override; 363 virtual sal_Bool SAL_CALL supportsService(const OUString& ServiceName) override; 364 virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override; 365 366 }; 367 368 class SwXTextSections final : public SwCollectionBaseClass, 369 public SwUnoCollection 370 { 371 virtual ~SwXTextSections() override; 372 public: 373 SwXTextSections(SwDoc* pDoc); 374 375 //XIndexAccess 376 virtual sal_Int32 SAL_CALL getCount() override; 377 virtual css::uno::Any SAL_CALL getByIndex(sal_Int32 nIndex) override; 378 379 //XNameAccess 380 virtual css::uno::Any SAL_CALL getByName(const OUString& Name) override; 381 virtual css::uno::Sequence< OUString > SAL_CALL getElementNames() override; 382 virtual sal_Bool SAL_CALL hasByName(const OUString& Name) override; 383 384 //XElementAccess 385 virtual css::uno::Type SAL_CALL getElementType( ) override; 386 virtual sal_Bool SAL_CALL hasElements( ) override; 387 388 //XServiceInfo 389 virtual OUString SAL_CALL getImplementationName() override; 390 virtual sal_Bool SAL_CALL supportsService(const OUString& ServiceName) override; 391 virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override; 392 393 static css::uno::Reference< css::text::XTextSection> GetObject( SwSectionFormat& rFormat ); 394 }; 395 396 class SwXBookmarks final : public SwCollectionBaseClass, 397 public SwUnoCollection 398 { 399 virtual ~SwXBookmarks() override; 400 public: 401 SwXBookmarks(SwDoc* pDoc); 402 403 //XIndexAccess 404 virtual sal_Int32 SAL_CALL getCount() override; 405 virtual css::uno::Any SAL_CALL getByIndex(sal_Int32 nIndex) override; 406 407 //XNameAccess 408 virtual css::uno::Any SAL_CALL getByName(const OUString& Name) override; 409 virtual css::uno::Sequence< OUString > SAL_CALL getElementNames() override; 410 virtual sal_Bool SAL_CALL hasByName(const OUString& Name) override; 411 412 //XElementAccess 413 virtual css::uno::Type SAL_CALL getElementType( ) override; 414 virtual sal_Bool SAL_CALL hasElements( ) override; 415 416 //XServiceInfo 417 virtual OUString SAL_CALL getImplementationName() override; 418 virtual sal_Bool SAL_CALL supportsService(const OUString& ServiceName) override; 419 virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override; 420 421 }; 422 423 class SwXNumberingRulesCollection final : public cppu::WeakImplHelper 424 < 425 css::container::XIndexAccess 426 >, 427 public SwUnoCollection 428 { 429 virtual ~SwXNumberingRulesCollection() override; 430 431 public: 432 SwXNumberingRulesCollection( SwDoc* pDoc ); 433 434 //XIndexAccess 435 virtual sal_Int32 SAL_CALL getCount() override; 436 virtual css::uno::Any SAL_CALL getByIndex(sal_Int32 nIndex) override; 437 438 //XElementAccess 439 virtual css::uno::Type SAL_CALL getElementType( ) override; 440 virtual sal_Bool SAL_CALL hasElements( ) override; 441 }; 442 443 typedef 444 cppu::WeakImplHelper 445 < 446 css::container::XIndexAccess, 447 css::lang::XServiceInfo 448 > 449 SwSimpleIndexAccessBaseClass; 450 451 class SwXFootnotes final : public SwSimpleIndexAccessBaseClass, 452 public SwUnoCollection 453 { 454 const bool m_bEndnote; 455 456 virtual ~SwXFootnotes() override; 457 public: 458 SwXFootnotes(bool bEnd, SwDoc* pDoc); 459 460 //XIndexAccess 461 virtual sal_Int32 SAL_CALL getCount() override; 462 virtual css::uno::Any SAL_CALL getByIndex(sal_Int32 nIndex) override; 463 464 //XElementAccess 465 virtual css::uno::Type SAL_CALL getElementType( ) override; 466 virtual sal_Bool SAL_CALL hasElements( ) override; 467 468 //XServiceInfo 469 virtual OUString SAL_CALL getImplementationName() override; 470 virtual sal_Bool SAL_CALL supportsService(const OUString& ServiceName) override; 471 virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override; 472 473 static css::uno::Reference< css::text::XFootnote> GetObject( SwDoc& rDoc, const SwFormatFootnote& rFormat ); 474 }; 475 476 class SwXReferenceMarks final : public SwCollectionBaseClass, 477 public SwUnoCollection 478 { 479 virtual ~SwXReferenceMarks() override; 480 public: 481 SwXReferenceMarks(SwDoc* pDoc); 482 483 //XIndexAccess 484 virtual sal_Int32 SAL_CALL getCount() override; 485 virtual css::uno::Any SAL_CALL getByIndex(sal_Int32 nIndex) override; 486 487 //XNameAccess 488 virtual css::uno::Any SAL_CALL getByName(const OUString& Name) override; 489 virtual css::uno::Sequence< OUString > SAL_CALL getElementNames() override; 490 virtual sal_Bool SAL_CALL hasByName(const OUString& Name) override; 491 492 //XElementAccess 493 virtual css::uno::Type SAL_CALL getElementType( ) override; 494 virtual sal_Bool SAL_CALL hasElements( ) override; 495 496 //XServiceInfo 497 virtual OUString SAL_CALL getImplementationName() override; 498 virtual sal_Bool SAL_CALL supportsService(const OUString& ServiceName) override; 499 virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override; 500 501 }; 502 503 #endif 504 505 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ 506