1*38d50f7bSAndrew Rist /************************************************************** 2cdf0e10cSrcweir * 3*38d50f7bSAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one 4*38d50f7bSAndrew Rist * or more contributor license agreements. See the NOTICE file 5*38d50f7bSAndrew Rist * distributed with this work for additional information 6*38d50f7bSAndrew Rist * regarding copyright ownership. The ASF licenses this file 7*38d50f7bSAndrew Rist * to you under the Apache License, Version 2.0 (the 8*38d50f7bSAndrew Rist * "License"); you may not use this file except in compliance 9*38d50f7bSAndrew Rist * with the License. You may obtain a copy of the License at 10*38d50f7bSAndrew Rist * 11*38d50f7bSAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0 12*38d50f7bSAndrew Rist * 13*38d50f7bSAndrew Rist * Unless required by applicable law or agreed to in writing, 14*38d50f7bSAndrew Rist * software distributed under the License is distributed on an 15*38d50f7bSAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*38d50f7bSAndrew Rist * KIND, either express or implied. See the License for the 17*38d50f7bSAndrew Rist * specific language governing permissions and limitations 18*38d50f7bSAndrew Rist * under the License. 19*38d50f7bSAndrew Rist * 20*38d50f7bSAndrew Rist *************************************************************/ 21*38d50f7bSAndrew Rist 22*38d50f7bSAndrew Rist 23cdf0e10cSrcweir 24cdf0e10cSrcweir #ifndef SC_DATAUNO_HXX 25cdf0e10cSrcweir #define SC_DATAUNO_HXX 26cdf0e10cSrcweir 27cdf0e10cSrcweir #include "global.hxx" 28cdf0e10cSrcweir #include "queryparam.hxx" 29cdf0e10cSrcweir 30cdf0e10cSrcweir #include <com/sun/star/sheet/TableFilterField.hpp> 31cdf0e10cSrcweir #include <com/sun/star/sheet/GeneralFunction.hpp> 32cdf0e10cSrcweir #include <com/sun/star/sheet/XCellRangeReferrer.hpp> 33cdf0e10cSrcweir #include <com/sun/star/sheet/XSheetFilterDescriptor.hpp> 34cdf0e10cSrcweir #include <com/sun/star/sheet/XConsolidationDescriptor.hpp> 35cdf0e10cSrcweir #include <com/sun/star/sheet/XDatabaseRanges.hpp> 36cdf0e10cSrcweir #include <com/sun/star/sheet/XDatabaseRange.hpp> 37cdf0e10cSrcweir #include <com/sun/star/sheet/XSubTotalDescriptor.hpp> 38cdf0e10cSrcweir #include <com/sun/star/sheet/XSubTotalField.hpp> 39cdf0e10cSrcweir #include <com/sun/star/lang/XServiceInfo.hpp> 40cdf0e10cSrcweir #include <com/sun/star/container/XEnumerationAccess.hpp> 41cdf0e10cSrcweir #include <com/sun/star/container/XIndexAccess.hpp> 42cdf0e10cSrcweir #include <com/sun/star/beans/XPropertySet.hpp> 43cdf0e10cSrcweir #include <com/sun/star/lang/XUnoTunnel.hpp> 44cdf0e10cSrcweir #include <com/sun/star/container/XNamed.hpp> 45cdf0e10cSrcweir #include <com/sun/star/util/XRefreshable.hpp> 46cdf0e10cSrcweir #include <com/sun/star/sheet/XSheetFilterDescriptor2.hpp> 47cdf0e10cSrcweir #include <cppuhelper/implbase2.hxx> 48cdf0e10cSrcweir #include <cppuhelper/implbase3.hxx> 49cdf0e10cSrcweir #include <cppuhelper/implbase4.hxx> 50cdf0e10cSrcweir #include <cppuhelper/implbase5.hxx> 51cdf0e10cSrcweir #include <cppuhelper/implbase6.hxx> 52cdf0e10cSrcweir #include "svl/itemprop.hxx" 53cdf0e10cSrcweir #include "svl/lstner.hxx" 54cdf0e10cSrcweir 55cdf0e10cSrcweir class ScDBData; 56cdf0e10cSrcweir class ScDocShell; 57cdf0e10cSrcweir 58cdf0e10cSrcweir class ScSubTotalFieldObj; 59cdf0e10cSrcweir class ScDatabaseRangeObj; 60cdf0e10cSrcweir class ScDataPilotDescriptorBase; 61cdf0e10cSrcweir 62cdf0e10cSrcweir struct ScSortParam; 63cdf0e10cSrcweir 64cdf0e10cSrcweir typedef ::com::sun::star::uno::Reference< 65cdf0e10cSrcweir ::com::sun::star::util::XRefreshListener >* XDBRefreshListenerPtr; 66cdf0e10cSrcweir SV_DECL_PTRARR_DEL( XDBRefreshListenerArr_Impl, XDBRefreshListenerPtr, 4, 4 ) 67cdf0e10cSrcweir 68cdf0e10cSrcweir class ScDataUnoConversion 69cdf0e10cSrcweir { 70cdf0e10cSrcweir public: 71cdf0e10cSrcweir static ScSubTotalFunc GeneralToSubTotal( com::sun::star::sheet::GeneralFunction eSummary ); 72cdf0e10cSrcweir static com::sun::star::sheet::GeneralFunction SubTotalToGeneral( ScSubTotalFunc eSubTotal ); 73cdf0e10cSrcweir }; 74cdf0e10cSrcweir 75cdf0e10cSrcweir 76cdf0e10cSrcweir // ImportDescriptor gibt's nicht mehr als Uno-Objekt, nur noch Property-Sequence 77cdf0e10cSrcweir 78cdf0e10cSrcweir class ScImportDescriptor 79cdf0e10cSrcweir { 80cdf0e10cSrcweir public: 81cdf0e10cSrcweir static void FillImportParam( 82cdf0e10cSrcweir ScImportParam& rParam, 83cdf0e10cSrcweir const com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue>& rSeq ); 84cdf0e10cSrcweir static void FillProperties( 85cdf0e10cSrcweir com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue>& rSeq, 86cdf0e10cSrcweir const ScImportParam& rParam ); 87cdf0e10cSrcweir static long GetPropertyCount(); 88cdf0e10cSrcweir }; 89cdf0e10cSrcweir 90cdf0e10cSrcweir // SortDescriptor gibt's nicht mehr als Uno-Objekt, nur noch Property-Sequence 91cdf0e10cSrcweir 92cdf0e10cSrcweir class ScSortDescriptor 93cdf0e10cSrcweir { 94cdf0e10cSrcweir public: 95cdf0e10cSrcweir static void FillSortParam( 96cdf0e10cSrcweir ScSortParam& rParam, 97cdf0e10cSrcweir const com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue>& rSeq ); 98cdf0e10cSrcweir static void FillProperties( 99cdf0e10cSrcweir com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue>& rSeq, 100cdf0e10cSrcweir const ScSortParam& rParam ); 101cdf0e10cSrcweir static long GetPropertyCount(); 102cdf0e10cSrcweir }; 103cdf0e10cSrcweir 104cdf0e10cSrcweir 105cdf0e10cSrcweir // ScSubTotalDescriptorBase - Basisklasse fuer SubTotalDescriptor alleine und im DB-Bereich 106cdf0e10cSrcweir 107cdf0e10cSrcweir // to uno, both look the same 108cdf0e10cSrcweir 109cdf0e10cSrcweir class ScSubTotalDescriptorBase : public cppu::WeakImplHelper6< 110cdf0e10cSrcweir com::sun::star::sheet::XSubTotalDescriptor, 111cdf0e10cSrcweir com::sun::star::container::XEnumerationAccess, 112cdf0e10cSrcweir com::sun::star::container::XIndexAccess, 113cdf0e10cSrcweir com::sun::star::beans::XPropertySet, 114cdf0e10cSrcweir com::sun::star::lang::XUnoTunnel, 115cdf0e10cSrcweir com::sun::star::lang::XServiceInfo > 116cdf0e10cSrcweir { 117cdf0e10cSrcweir private: 118cdf0e10cSrcweir SfxItemPropertySet aPropSet; 119cdf0e10cSrcweir 120cdf0e10cSrcweir ScSubTotalFieldObj* GetObjectByIndex_Impl(sal_uInt16 nIndex); 121cdf0e10cSrcweir 122cdf0e10cSrcweir public: 123cdf0e10cSrcweir ScSubTotalDescriptorBase(); 124cdf0e10cSrcweir virtual ~ScSubTotalDescriptorBase(); 125cdf0e10cSrcweir 126cdf0e10cSrcweir // in derived classes: 127cdf0e10cSrcweir // (Fields are within the range) 128cdf0e10cSrcweir virtual void GetData( ScSubTotalParam& rParam ) const = 0; 129cdf0e10cSrcweir virtual void PutData( const ScSubTotalParam& rParam ) = 0; 130cdf0e10cSrcweir 131cdf0e10cSrcweir // XSubTotalDescriptor 132cdf0e10cSrcweir virtual void SAL_CALL addNew( const ::com::sun::star::uno::Sequence< 133cdf0e10cSrcweir ::com::sun::star::sheet::SubTotalColumn >& aSubTotalColumns, 134cdf0e10cSrcweir sal_Int32 nGroupColumn ) 135cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 136cdf0e10cSrcweir virtual void SAL_CALL clear() throw(::com::sun::star::uno::RuntimeException); 137cdf0e10cSrcweir 138cdf0e10cSrcweir // XIndexAccess 139cdf0e10cSrcweir virtual sal_Int32 SAL_CALL getCount() throw(::com::sun::star::uno::RuntimeException); 140cdf0e10cSrcweir virtual ::com::sun::star::uno::Any SAL_CALL getByIndex( sal_Int32 Index ) 141cdf0e10cSrcweir throw(::com::sun::star::lang::IndexOutOfBoundsException, 142cdf0e10cSrcweir ::com::sun::star::lang::WrappedTargetException, 143cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException); 144cdf0e10cSrcweir 145cdf0e10cSrcweir // XEnumerationAccess 146cdf0e10cSrcweir virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XEnumeration > SAL_CALL 147cdf0e10cSrcweir createEnumeration() throw(::com::sun::star::uno::RuntimeException); 148cdf0e10cSrcweir 149cdf0e10cSrcweir // XElementAccess 150cdf0e10cSrcweir virtual ::com::sun::star::uno::Type SAL_CALL getElementType() 151cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 152cdf0e10cSrcweir virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException); 153cdf0e10cSrcweir 154cdf0e10cSrcweir // XPropertySet 155cdf0e10cSrcweir virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > 156cdf0e10cSrcweir SAL_CALL getPropertySetInfo() 157cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 158cdf0e10cSrcweir virtual void SAL_CALL setPropertyValue( const ::rtl::OUString& aPropertyName, 159cdf0e10cSrcweir const ::com::sun::star::uno::Any& aValue ) 160cdf0e10cSrcweir throw(::com::sun::star::beans::UnknownPropertyException, 161cdf0e10cSrcweir ::com::sun::star::beans::PropertyVetoException, 162cdf0e10cSrcweir ::com::sun::star::lang::IllegalArgumentException, 163cdf0e10cSrcweir ::com::sun::star::lang::WrappedTargetException, 164cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException); 165cdf0e10cSrcweir virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue( 166cdf0e10cSrcweir const ::rtl::OUString& PropertyName ) 167cdf0e10cSrcweir throw(::com::sun::star::beans::UnknownPropertyException, 168cdf0e10cSrcweir ::com::sun::star::lang::WrappedTargetException, 169cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException); 170cdf0e10cSrcweir virtual void SAL_CALL addPropertyChangeListener( const ::rtl::OUString& aPropertyName, 171cdf0e10cSrcweir const ::com::sun::star::uno::Reference< 172cdf0e10cSrcweir ::com::sun::star::beans::XPropertyChangeListener >& xListener ) 173cdf0e10cSrcweir throw(::com::sun::star::beans::UnknownPropertyException, 174cdf0e10cSrcweir ::com::sun::star::lang::WrappedTargetException, 175cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException); 176cdf0e10cSrcweir virtual void SAL_CALL removePropertyChangeListener( const ::rtl::OUString& aPropertyName, 177cdf0e10cSrcweir const ::com::sun::star::uno::Reference< 178cdf0e10cSrcweir ::com::sun::star::beans::XPropertyChangeListener >& aListener ) 179cdf0e10cSrcweir throw(::com::sun::star::beans::UnknownPropertyException, 180cdf0e10cSrcweir ::com::sun::star::lang::WrappedTargetException, 181cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException); 182cdf0e10cSrcweir virtual void SAL_CALL addVetoableChangeListener( const ::rtl::OUString& PropertyName, 183cdf0e10cSrcweir const ::com::sun::star::uno::Reference< 184cdf0e10cSrcweir ::com::sun::star::beans::XVetoableChangeListener >& aListener ) 185cdf0e10cSrcweir throw(::com::sun::star::beans::UnknownPropertyException, 186cdf0e10cSrcweir ::com::sun::star::lang::WrappedTargetException, 187cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException); 188cdf0e10cSrcweir virtual void SAL_CALL removeVetoableChangeListener( const ::rtl::OUString& PropertyName, 189cdf0e10cSrcweir const ::com::sun::star::uno::Reference< 190cdf0e10cSrcweir ::com::sun::star::beans::XVetoableChangeListener >& aListener ) 191cdf0e10cSrcweir throw(::com::sun::star::beans::UnknownPropertyException, 192cdf0e10cSrcweir ::com::sun::star::lang::WrappedTargetException, 193cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException); 194cdf0e10cSrcweir 195cdf0e10cSrcweir // XUnoTunnel 196cdf0e10cSrcweir virtual sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence< 197cdf0e10cSrcweir sal_Int8 >& aIdentifier ) 198cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 199cdf0e10cSrcweir 200cdf0e10cSrcweir static const com::sun::star::uno::Sequence<sal_Int8>& getUnoTunnelId(); 201cdf0e10cSrcweir static ScSubTotalDescriptorBase* getImplementation( const com::sun::star::uno::Reference< 202cdf0e10cSrcweir com::sun::star::sheet::XSubTotalDescriptor> xObj ); 203cdf0e10cSrcweir 204cdf0e10cSrcweir // XServiceInfo 205cdf0e10cSrcweir virtual ::rtl::OUString SAL_CALL getImplementationName() 206cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 207cdf0e10cSrcweir virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) 208cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 209cdf0e10cSrcweir virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() 210cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 211cdf0e10cSrcweir }; 212cdf0e10cSrcweir 213cdf0e10cSrcweir 214cdf0e10cSrcweir // ScSubTotalDescriptor - dummer Container zur Benutzung mit XImportTarget 215cdf0e10cSrcweir 216cdf0e10cSrcweir class ScSubTotalDescriptor : public ScSubTotalDescriptorBase 217cdf0e10cSrcweir { 218cdf0e10cSrcweir private: 219cdf0e10cSrcweir ScSubTotalParam aStoredParam; 220cdf0e10cSrcweir 221cdf0e10cSrcweir public: 222cdf0e10cSrcweir ScSubTotalDescriptor(); 223cdf0e10cSrcweir virtual ~ScSubTotalDescriptor(); 224cdf0e10cSrcweir 225cdf0e10cSrcweir // von ScSubTotalDescriptorBase: 226cdf0e10cSrcweir virtual void GetData( ScSubTotalParam& rParam ) const; 227cdf0e10cSrcweir virtual void PutData( const ScSubTotalParam& rParam ); 228cdf0e10cSrcweir 229cdf0e10cSrcweir // Zugriff von aussen: 230cdf0e10cSrcweir void SetParam( const ScSubTotalParam& rNew ); 231cdf0e10cSrcweir // const ScSubTotalParam& GetParam() const { return aStoredParam; } 232cdf0e10cSrcweir }; 233cdf0e10cSrcweir 234cdf0e10cSrcweir 235cdf0e10cSrcweir // ScRangeSubTotalDescriptor - SubTotalDescriptor eines Datenbank-Bereichs 236cdf0e10cSrcweir 237cdf0e10cSrcweir class ScRangeSubTotalDescriptor : public ScSubTotalDescriptorBase 238cdf0e10cSrcweir { 239cdf0e10cSrcweir private: 240cdf0e10cSrcweir ScDatabaseRangeObj* pParent; 241cdf0e10cSrcweir 242cdf0e10cSrcweir public: 243cdf0e10cSrcweir ScRangeSubTotalDescriptor(ScDatabaseRangeObj* pPar); 244cdf0e10cSrcweir virtual ~ScRangeSubTotalDescriptor(); 245cdf0e10cSrcweir 246cdf0e10cSrcweir // von ScSubTotalDescriptorBase: 247cdf0e10cSrcweir virtual void GetData( ScSubTotalParam& rParam ) const; 248cdf0e10cSrcweir virtual void PutData( const ScSubTotalParam& rParam ); 249cdf0e10cSrcweir }; 250cdf0e10cSrcweir 251cdf0e10cSrcweir 252cdf0e10cSrcweir class ScSubTotalFieldObj : public cppu::WeakImplHelper2< 253cdf0e10cSrcweir com::sun::star::sheet::XSubTotalField, 254cdf0e10cSrcweir com::sun::star::lang::XServiceInfo > 255cdf0e10cSrcweir { 256cdf0e10cSrcweir private: 257cdf0e10cSrcweir com::sun::star::uno::Reference<com::sun::star::sheet::XSubTotalDescriptor> xRef; 258cdf0e10cSrcweir ScSubTotalDescriptorBase& rParent; 259cdf0e10cSrcweir sal_uInt16 nPos; 260cdf0e10cSrcweir 261cdf0e10cSrcweir public: 262cdf0e10cSrcweir ScSubTotalFieldObj( ScSubTotalDescriptorBase* pDesc, sal_uInt16 nP ); 263cdf0e10cSrcweir virtual ~ScSubTotalFieldObj(); 264cdf0e10cSrcweir 265cdf0e10cSrcweir // XSubTotalField 266cdf0e10cSrcweir virtual sal_Int32 SAL_CALL getGroupColumn() throw(::com::sun::star::uno::RuntimeException); 267cdf0e10cSrcweir virtual void SAL_CALL setGroupColumn( sal_Int32 nGroupColumn ) 268cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 269cdf0e10cSrcweir virtual ::com::sun::star::uno::Sequence< ::com::sun::star::sheet::SubTotalColumn > SAL_CALL 270cdf0e10cSrcweir getSubTotalColumns() throw(::com::sun::star::uno::RuntimeException); 271cdf0e10cSrcweir virtual void SAL_CALL setSubTotalColumns( const ::com::sun::star::uno::Sequence< 272cdf0e10cSrcweir ::com::sun::star::sheet::SubTotalColumn >& aSubTotalColumns ) 273cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 274cdf0e10cSrcweir 275cdf0e10cSrcweir // XServiceInfo 276cdf0e10cSrcweir virtual ::rtl::OUString SAL_CALL getImplementationName() 277cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 278cdf0e10cSrcweir virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) 279cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 280cdf0e10cSrcweir virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() 281cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 282cdf0e10cSrcweir }; 283cdf0e10cSrcweir 284cdf0e10cSrcweir 285cdf0e10cSrcweir class ScConsolidationDescriptor : public cppu::WeakImplHelper2< 286cdf0e10cSrcweir com::sun::star::sheet::XConsolidationDescriptor, 287cdf0e10cSrcweir com::sun::star::lang::XServiceInfo > 288cdf0e10cSrcweir { 289cdf0e10cSrcweir private: 290cdf0e10cSrcweir ScConsolidateParam aParam; 291cdf0e10cSrcweir 292cdf0e10cSrcweir public: 293cdf0e10cSrcweir ScConsolidationDescriptor(); 294cdf0e10cSrcweir virtual ~ScConsolidationDescriptor(); 295cdf0e10cSrcweir 296cdf0e10cSrcweir void SetParam( const ScConsolidateParam& rNew ); GetParam() const297cdf0e10cSrcweir const ScConsolidateParam& GetParam() const { return aParam; } 298cdf0e10cSrcweir 299cdf0e10cSrcweir // XConsolidationDescriptor 300cdf0e10cSrcweir virtual ::com::sun::star::sheet::GeneralFunction SAL_CALL getFunction() 301cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 302cdf0e10cSrcweir virtual void SAL_CALL setFunction( ::com::sun::star::sheet::GeneralFunction nFunction ) 303cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 304cdf0e10cSrcweir virtual ::com::sun::star::uno::Sequence< ::com::sun::star::table::CellRangeAddress > SAL_CALL 305cdf0e10cSrcweir getSources( ) throw(::com::sun::star::uno::RuntimeException); 306cdf0e10cSrcweir virtual void SAL_CALL setSources( const ::com::sun::star::uno::Sequence< 307cdf0e10cSrcweir ::com::sun::star::table::CellRangeAddress >& aSources ) 308cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 309cdf0e10cSrcweir virtual ::com::sun::star::table::CellAddress SAL_CALL getStartOutputPosition() 310cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 311cdf0e10cSrcweir virtual void SAL_CALL setStartOutputPosition( 312cdf0e10cSrcweir const ::com::sun::star::table::CellAddress& aStartOutputPosition ) 313cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 314cdf0e10cSrcweir virtual sal_Bool SAL_CALL getUseColumnHeaders() throw(::com::sun::star::uno::RuntimeException); 315cdf0e10cSrcweir virtual void SAL_CALL setUseColumnHeaders( sal_Bool bUseColumnHeaders ) 316cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 317cdf0e10cSrcweir virtual sal_Bool SAL_CALL getUseRowHeaders() throw(::com::sun::star::uno::RuntimeException); 318cdf0e10cSrcweir virtual void SAL_CALL setUseRowHeaders( sal_Bool bUseRowHeaders ) 319cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 320cdf0e10cSrcweir virtual sal_Bool SAL_CALL getInsertLinks() throw(::com::sun::star::uno::RuntimeException); 321cdf0e10cSrcweir virtual void SAL_CALL setInsertLinks( sal_Bool bInsertLinks ) 322cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 323cdf0e10cSrcweir 324cdf0e10cSrcweir // XServiceInfo 325cdf0e10cSrcweir virtual ::rtl::OUString SAL_CALL getImplementationName() 326cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 327cdf0e10cSrcweir virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) 328cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 329cdf0e10cSrcweir virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() 330cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 331cdf0e10cSrcweir }; 332cdf0e10cSrcweir 333cdf0e10cSrcweir 334cdf0e10cSrcweir // ScFilterDescriptorBase - Basisklasse fuer FilterDescriptor 335cdf0e10cSrcweir // alleine, im DB-Bereich und im DataPilot 336cdf0e10cSrcweir 337cdf0e10cSrcweir // to uno, all three look the same 338cdf0e10cSrcweir 339cdf0e10cSrcweir class ScFilterDescriptorBase : public cppu::WeakImplHelper4< 340cdf0e10cSrcweir com::sun::star::sheet::XSheetFilterDescriptor, 341cdf0e10cSrcweir com::sun::star::sheet::XSheetFilterDescriptor2, 342cdf0e10cSrcweir com::sun::star::beans::XPropertySet, 343cdf0e10cSrcweir com::sun::star::lang::XServiceInfo >, 344cdf0e10cSrcweir public SfxListener 345cdf0e10cSrcweir { 346cdf0e10cSrcweir private: 347cdf0e10cSrcweir SfxItemPropertySet aPropSet; 348cdf0e10cSrcweir ScDocShell* pDocSh; 349cdf0e10cSrcweir 350cdf0e10cSrcweir public: 351cdf0e10cSrcweir ScFilterDescriptorBase(ScDocShell* pDocShell); 352cdf0e10cSrcweir virtual ~ScFilterDescriptorBase(); 353cdf0e10cSrcweir 354cdf0e10cSrcweir virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ); 355cdf0e10cSrcweir 356cdf0e10cSrcweir // in den Ableitungen: 357cdf0e10cSrcweir // (nField[] hier innerhalb des Bereichs) 358cdf0e10cSrcweir virtual void GetData( ScQueryParam& rParam ) const = 0; 359cdf0e10cSrcweir virtual void PutData( const ScQueryParam& rParam ) = 0; 360cdf0e10cSrcweir 361cdf0e10cSrcweir // XSheetFilterDescriptor 362cdf0e10cSrcweir virtual ::com::sun::star::uno::Sequence< ::com::sun::star::sheet::TableFilterField > SAL_CALL 363cdf0e10cSrcweir getFilterFields() throw(::com::sun::star::uno::RuntimeException); 364cdf0e10cSrcweir virtual void SAL_CALL setFilterFields( const ::com::sun::star::uno::Sequence< 365cdf0e10cSrcweir ::com::sun::star::sheet::TableFilterField >& aFilterFields ) 366cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 367cdf0e10cSrcweir 368cdf0e10cSrcweir // XSheetFilterDescriptor2 369cdf0e10cSrcweir virtual ::com::sun::star::uno::Sequence< ::com::sun::star::sheet::TableFilterField2 > SAL_CALL 370cdf0e10cSrcweir getFilterFields2() throw(::com::sun::star::uno::RuntimeException); 371cdf0e10cSrcweir virtual void SAL_CALL setFilterFields2( const ::com::sun::star::uno::Sequence< 372cdf0e10cSrcweir ::com::sun::star::sheet::TableFilterField2 >& aFilterFields ) 373cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 374cdf0e10cSrcweir 375cdf0e10cSrcweir // XPropertySet 376cdf0e10cSrcweir virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > 377cdf0e10cSrcweir SAL_CALL getPropertySetInfo() 378cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 379cdf0e10cSrcweir virtual void SAL_CALL setPropertyValue( const ::rtl::OUString& aPropertyName, 380cdf0e10cSrcweir const ::com::sun::star::uno::Any& aValue ) 381cdf0e10cSrcweir throw(::com::sun::star::beans::UnknownPropertyException, 382cdf0e10cSrcweir ::com::sun::star::beans::PropertyVetoException, 383cdf0e10cSrcweir ::com::sun::star::lang::IllegalArgumentException, 384cdf0e10cSrcweir ::com::sun::star::lang::WrappedTargetException, 385cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException); 386cdf0e10cSrcweir virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue( 387cdf0e10cSrcweir const ::rtl::OUString& PropertyName ) 388cdf0e10cSrcweir throw(::com::sun::star::beans::UnknownPropertyException, 389cdf0e10cSrcweir ::com::sun::star::lang::WrappedTargetException, 390cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException); 391cdf0e10cSrcweir virtual void SAL_CALL addPropertyChangeListener( const ::rtl::OUString& aPropertyName, 392cdf0e10cSrcweir const ::com::sun::star::uno::Reference< 393cdf0e10cSrcweir ::com::sun::star::beans::XPropertyChangeListener >& xListener ) 394cdf0e10cSrcweir throw(::com::sun::star::beans::UnknownPropertyException, 395cdf0e10cSrcweir ::com::sun::star::lang::WrappedTargetException, 396cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException); 397cdf0e10cSrcweir virtual void SAL_CALL removePropertyChangeListener( const ::rtl::OUString& aPropertyName, 398cdf0e10cSrcweir const ::com::sun::star::uno::Reference< 399cdf0e10cSrcweir ::com::sun::star::beans::XPropertyChangeListener >& aListener ) 400cdf0e10cSrcweir throw(::com::sun::star::beans::UnknownPropertyException, 401cdf0e10cSrcweir ::com::sun::star::lang::WrappedTargetException, 402cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException); 403cdf0e10cSrcweir virtual void SAL_CALL addVetoableChangeListener( const ::rtl::OUString& PropertyName, 404cdf0e10cSrcweir const ::com::sun::star::uno::Reference< 405cdf0e10cSrcweir ::com::sun::star::beans::XVetoableChangeListener >& aListener ) 406cdf0e10cSrcweir throw(::com::sun::star::beans::UnknownPropertyException, 407cdf0e10cSrcweir ::com::sun::star::lang::WrappedTargetException, 408cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException); 409cdf0e10cSrcweir virtual void SAL_CALL removeVetoableChangeListener( const ::rtl::OUString& PropertyName, 410cdf0e10cSrcweir const ::com::sun::star::uno::Reference< 411cdf0e10cSrcweir ::com::sun::star::beans::XVetoableChangeListener >& aListener ) 412cdf0e10cSrcweir throw(::com::sun::star::beans::UnknownPropertyException, 413cdf0e10cSrcweir ::com::sun::star::lang::WrappedTargetException, 414cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException); 415cdf0e10cSrcweir 416cdf0e10cSrcweir // XServiceInfo 417cdf0e10cSrcweir virtual ::rtl::OUString SAL_CALL getImplementationName() 418cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 419cdf0e10cSrcweir virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) 420cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 421cdf0e10cSrcweir virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() 422cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 423cdf0e10cSrcweir }; 424cdf0e10cSrcweir 425cdf0e10cSrcweir 426cdf0e10cSrcweir // ScFilterDescriptor - dummer Container zur Benutzung mit XFilterable 427cdf0e10cSrcweir 428cdf0e10cSrcweir class ScFilterDescriptor : public ScFilterDescriptorBase 429cdf0e10cSrcweir { 430cdf0e10cSrcweir private: 431cdf0e10cSrcweir ScQueryParam aStoredParam; // nField[] hier innerhalb des Bereichs 432cdf0e10cSrcweir 433cdf0e10cSrcweir public: 434cdf0e10cSrcweir ScFilterDescriptor(ScDocShell* pDocSh); 435cdf0e10cSrcweir virtual ~ScFilterDescriptor(); 436cdf0e10cSrcweir 437cdf0e10cSrcweir // von ScFilterDescriptorBase: 438cdf0e10cSrcweir virtual void GetData( ScQueryParam& rParam ) const; 439cdf0e10cSrcweir virtual void PutData( const ScQueryParam& rParam ); 440cdf0e10cSrcweir 441cdf0e10cSrcweir // Zugriff von aussen: 442cdf0e10cSrcweir void SetParam( const ScQueryParam& rNew ); GetParam() const443cdf0e10cSrcweir const ScQueryParam& GetParam() const { return aStoredParam; } 444cdf0e10cSrcweir }; 445cdf0e10cSrcweir 446cdf0e10cSrcweir 447cdf0e10cSrcweir // ScRangeFilterDescriptor - FilterDescriptor eines Datenbank-Bereichs 448cdf0e10cSrcweir 449cdf0e10cSrcweir class ScRangeFilterDescriptor : public ScFilterDescriptorBase 450cdf0e10cSrcweir { 451cdf0e10cSrcweir private: 452cdf0e10cSrcweir ScDatabaseRangeObj* pParent; 453cdf0e10cSrcweir 454cdf0e10cSrcweir public: 455cdf0e10cSrcweir ScRangeFilterDescriptor(ScDocShell* pDocSh, ScDatabaseRangeObj* pPar); 456cdf0e10cSrcweir virtual ~ScRangeFilterDescriptor(); 457cdf0e10cSrcweir 458cdf0e10cSrcweir // von ScFilterDescriptorBase: 459cdf0e10cSrcweir virtual void GetData( ScQueryParam& rParam ) const; 460cdf0e10cSrcweir virtual void PutData( const ScQueryParam& rParam ); 461cdf0e10cSrcweir }; 462cdf0e10cSrcweir 463cdf0e10cSrcweir 464cdf0e10cSrcweir // ScDataPilotFilterDescriptor - FilterDescriptor eines DataPilotDescriptors 465cdf0e10cSrcweir 466cdf0e10cSrcweir class ScDataPilotFilterDescriptor : public ScFilterDescriptorBase 467cdf0e10cSrcweir { 468cdf0e10cSrcweir private: 469cdf0e10cSrcweir ScDataPilotDescriptorBase* pParent; 470cdf0e10cSrcweir 471cdf0e10cSrcweir public: 472cdf0e10cSrcweir ScDataPilotFilterDescriptor(ScDocShell* pDocSh, ScDataPilotDescriptorBase* pPar); 473cdf0e10cSrcweir virtual ~ScDataPilotFilterDescriptor(); 474cdf0e10cSrcweir 475cdf0e10cSrcweir // von ScFilterDescriptorBase: 476cdf0e10cSrcweir virtual void GetData( ScQueryParam& rParam ) const; 477cdf0e10cSrcweir virtual void PutData( const ScQueryParam& rParam ); 478cdf0e10cSrcweir }; 479cdf0e10cSrcweir 480cdf0e10cSrcweir 481cdf0e10cSrcweir class ScDatabaseRangeObj : public cppu::WeakImplHelper6< 482cdf0e10cSrcweir com::sun::star::sheet::XDatabaseRange, 483cdf0e10cSrcweir com::sun::star::util::XRefreshable, 484cdf0e10cSrcweir com::sun::star::container::XNamed, 485cdf0e10cSrcweir com::sun::star::sheet::XCellRangeReferrer, 486cdf0e10cSrcweir com::sun::star::beans::XPropertySet, 487cdf0e10cSrcweir com::sun::star::lang::XServiceInfo >, 488cdf0e10cSrcweir public SfxListener 489cdf0e10cSrcweir { 490cdf0e10cSrcweir private: 491cdf0e10cSrcweir ScDocShell* pDocShell; 492cdf0e10cSrcweir String aName; 493cdf0e10cSrcweir SfxItemPropertySet aPropSet; 494cdf0e10cSrcweir XDBRefreshListenerArr_Impl aRefreshListeners; 495cdf0e10cSrcweir 496cdf0e10cSrcweir private: 497cdf0e10cSrcweir ScDBData* GetDBData_Impl() const; 498cdf0e10cSrcweir void Refreshed_Impl(); 499cdf0e10cSrcweir 500cdf0e10cSrcweir public: 501cdf0e10cSrcweir ScDatabaseRangeObj(ScDocShell* pDocSh, const String& rNm); 502cdf0e10cSrcweir virtual ~ScDatabaseRangeObj(); 503cdf0e10cSrcweir 504cdf0e10cSrcweir virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ); 505cdf0e10cSrcweir 506cdf0e10cSrcweir // nField[] hier innerhalb des Bereichs: 507cdf0e10cSrcweir void GetQueryParam(ScQueryParam& rQueryParam) const; 508cdf0e10cSrcweir void SetQueryParam(const ScQueryParam& rQueryParam); 509cdf0e10cSrcweir void GetSubTotalParam(ScSubTotalParam& rSubTotalParam) const; 510cdf0e10cSrcweir void SetSubTotalParam(const ScSubTotalParam& rSubTotalParam); 511cdf0e10cSrcweir 512cdf0e10cSrcweir // XNamed 513cdf0e10cSrcweir virtual ::rtl::OUString SAL_CALL getName() throw(::com::sun::star::uno::RuntimeException); 514cdf0e10cSrcweir virtual void SAL_CALL setName( const ::rtl::OUString& aName ) 515cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 516cdf0e10cSrcweir 517cdf0e10cSrcweir // XDatabaseRange 518cdf0e10cSrcweir virtual ::com::sun::star::table::CellRangeAddress SAL_CALL getDataArea() 519cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 520cdf0e10cSrcweir virtual void SAL_CALL setDataArea( const ::com::sun::star::table::CellRangeAddress& aDataArea ) 521cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 522cdf0e10cSrcweir virtual ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > SAL_CALL 523cdf0e10cSrcweir getSortDescriptor() throw(::com::sun::star::uno::RuntimeException); 524cdf0e10cSrcweir virtual ::com::sun::star::uno::Reference< ::com::sun::star::sheet::XSheetFilterDescriptor > SAL_CALL 525cdf0e10cSrcweir getFilterDescriptor() throw(::com::sun::star::uno::RuntimeException); 526cdf0e10cSrcweir virtual ::com::sun::star::uno::Reference< ::com::sun::star::sheet::XSubTotalDescriptor > SAL_CALL 527cdf0e10cSrcweir getSubTotalDescriptor() throw(::com::sun::star::uno::RuntimeException); 528cdf0e10cSrcweir virtual ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > SAL_CALL 529cdf0e10cSrcweir getImportDescriptor() throw(::com::sun::star::uno::RuntimeException); 530cdf0e10cSrcweir // implemented for the XRefreshable Interface 531cdf0e10cSrcweir // virtual void SAL_CALL refresh() throw(::com::sun::star::uno::RuntimeException); 532cdf0e10cSrcweir 533cdf0e10cSrcweir // XRefreshable 534cdf0e10cSrcweir virtual void SAL_CALL refresh() throw(::com::sun::star::uno::RuntimeException); 535cdf0e10cSrcweir virtual void SAL_CALL addRefreshListener( const ::com::sun::star::uno::Reference< 536cdf0e10cSrcweir ::com::sun::star::util::XRefreshListener >& l ) 537cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 538cdf0e10cSrcweir virtual void SAL_CALL removeRefreshListener( const ::com::sun::star::uno::Reference< 539cdf0e10cSrcweir ::com::sun::star::util::XRefreshListener >& l ) 540cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 541cdf0e10cSrcweir 542cdf0e10cSrcweir // XCellRangeReferrer 543cdf0e10cSrcweir virtual ::com::sun::star::uno::Reference< ::com::sun::star::table::XCellRange > SAL_CALL 544cdf0e10cSrcweir getReferredCells() throw(::com::sun::star::uno::RuntimeException); 545cdf0e10cSrcweir 546cdf0e10cSrcweir // XPropertySet 547cdf0e10cSrcweir virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > 548cdf0e10cSrcweir SAL_CALL getPropertySetInfo() 549cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 550cdf0e10cSrcweir virtual void SAL_CALL setPropertyValue( const ::rtl::OUString& aPropertyName, 551cdf0e10cSrcweir const ::com::sun::star::uno::Any& aValue ) 552cdf0e10cSrcweir throw(::com::sun::star::beans::UnknownPropertyException, 553cdf0e10cSrcweir ::com::sun::star::beans::PropertyVetoException, 554cdf0e10cSrcweir ::com::sun::star::lang::IllegalArgumentException, 555cdf0e10cSrcweir ::com::sun::star::lang::WrappedTargetException, 556cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException); 557cdf0e10cSrcweir virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue( 558cdf0e10cSrcweir const ::rtl::OUString& PropertyName ) 559cdf0e10cSrcweir throw(::com::sun::star::beans::UnknownPropertyException, 560cdf0e10cSrcweir ::com::sun::star::lang::WrappedTargetException, 561cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException); 562cdf0e10cSrcweir virtual void SAL_CALL addPropertyChangeListener( const ::rtl::OUString& aPropertyName, 563cdf0e10cSrcweir const ::com::sun::star::uno::Reference< 564cdf0e10cSrcweir ::com::sun::star::beans::XPropertyChangeListener >& xListener ) 565cdf0e10cSrcweir throw(::com::sun::star::beans::UnknownPropertyException, 566cdf0e10cSrcweir ::com::sun::star::lang::WrappedTargetException, 567cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException); 568cdf0e10cSrcweir virtual void SAL_CALL removePropertyChangeListener( const ::rtl::OUString& aPropertyName, 569cdf0e10cSrcweir const ::com::sun::star::uno::Reference< 570cdf0e10cSrcweir ::com::sun::star::beans::XPropertyChangeListener >& aListener ) 571cdf0e10cSrcweir throw(::com::sun::star::beans::UnknownPropertyException, 572cdf0e10cSrcweir ::com::sun::star::lang::WrappedTargetException, 573cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException); 574cdf0e10cSrcweir virtual void SAL_CALL addVetoableChangeListener( const ::rtl::OUString& PropertyName, 575cdf0e10cSrcweir const ::com::sun::star::uno::Reference< 576cdf0e10cSrcweir ::com::sun::star::beans::XVetoableChangeListener >& aListener ) 577cdf0e10cSrcweir throw(::com::sun::star::beans::UnknownPropertyException, 578cdf0e10cSrcweir ::com::sun::star::lang::WrappedTargetException, 579cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException); 580cdf0e10cSrcweir virtual void SAL_CALL removeVetoableChangeListener( const ::rtl::OUString& PropertyName, 581cdf0e10cSrcweir const ::com::sun::star::uno::Reference< 582cdf0e10cSrcweir ::com::sun::star::beans::XVetoableChangeListener >& aListener ) 583cdf0e10cSrcweir throw(::com::sun::star::beans::UnknownPropertyException, 584cdf0e10cSrcweir ::com::sun::star::lang::WrappedTargetException, 585cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException); 586cdf0e10cSrcweir 587cdf0e10cSrcweir // XServiceInfo 588cdf0e10cSrcweir virtual ::rtl::OUString SAL_CALL getImplementationName() 589cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 590cdf0e10cSrcweir virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) 591cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 592cdf0e10cSrcweir virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() 593cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 594cdf0e10cSrcweir }; 595cdf0e10cSrcweir 596cdf0e10cSrcweir 597cdf0e10cSrcweir class ScDatabaseRangesObj : public cppu::WeakImplHelper4< 598cdf0e10cSrcweir com::sun::star::sheet::XDatabaseRanges, 599cdf0e10cSrcweir com::sun::star::container::XEnumerationAccess, 600cdf0e10cSrcweir com::sun::star::container::XIndexAccess, 601cdf0e10cSrcweir com::sun::star::lang::XServiceInfo >, 602cdf0e10cSrcweir public SfxListener 603cdf0e10cSrcweir { 604cdf0e10cSrcweir private: 605cdf0e10cSrcweir ScDocShell* pDocShell; 606cdf0e10cSrcweir 607cdf0e10cSrcweir ScDatabaseRangeObj* GetObjectByIndex_Impl(sal_uInt16 nIndex); 608cdf0e10cSrcweir ScDatabaseRangeObj* GetObjectByName_Impl(const ::rtl::OUString& aName); 609cdf0e10cSrcweir 610cdf0e10cSrcweir public: 611cdf0e10cSrcweir ScDatabaseRangesObj(ScDocShell* pDocSh); 612cdf0e10cSrcweir virtual ~ScDatabaseRangesObj(); 613cdf0e10cSrcweir 614cdf0e10cSrcweir virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ); 615cdf0e10cSrcweir 616cdf0e10cSrcweir // XDatabaseRanges 617cdf0e10cSrcweir virtual void SAL_CALL addNewByName( const ::rtl::OUString& aName, 618cdf0e10cSrcweir const ::com::sun::star::table::CellRangeAddress& aRange ) 619cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 620cdf0e10cSrcweir virtual void SAL_CALL removeByName( const ::rtl::OUString& aName ) 621cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 622cdf0e10cSrcweir 623cdf0e10cSrcweir // XEnumerationAccess 624cdf0e10cSrcweir virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XEnumeration > SAL_CALL 625cdf0e10cSrcweir createEnumeration() throw(::com::sun::star::uno::RuntimeException); 626cdf0e10cSrcweir 627cdf0e10cSrcweir // XIndexAccess 628cdf0e10cSrcweir virtual sal_Int32 SAL_CALL getCount() throw(::com::sun::star::uno::RuntimeException); 629cdf0e10cSrcweir virtual ::com::sun::star::uno::Any SAL_CALL getByIndex( sal_Int32 Index ) 630cdf0e10cSrcweir throw(::com::sun::star::lang::IndexOutOfBoundsException, 631cdf0e10cSrcweir ::com::sun::star::lang::WrappedTargetException, 632cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException); 633cdf0e10cSrcweir 634cdf0e10cSrcweir // XElementAccess 635cdf0e10cSrcweir virtual ::com::sun::star::uno::Type SAL_CALL getElementType() 636cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 637cdf0e10cSrcweir virtual sal_Bool SAL_CALL hasElements() throw(::com::sun::star::uno::RuntimeException); 638cdf0e10cSrcweir 639cdf0e10cSrcweir // XNameAccess 640cdf0e10cSrcweir virtual ::com::sun::star::uno::Any SAL_CALL getByName( const ::rtl::OUString& aName ) 641cdf0e10cSrcweir throw(::com::sun::star::container::NoSuchElementException, 642cdf0e10cSrcweir ::com::sun::star::lang::WrappedTargetException, 643cdf0e10cSrcweir ::com::sun::star::uno::RuntimeException); 644cdf0e10cSrcweir virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getElementNames() 645cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 646cdf0e10cSrcweir virtual sal_Bool SAL_CALL hasByName( const ::rtl::OUString& aName ) 647cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 648cdf0e10cSrcweir 649cdf0e10cSrcweir // XServiceInfo 650cdf0e10cSrcweir virtual ::rtl::OUString SAL_CALL getImplementationName() 651cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 652cdf0e10cSrcweir virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) 653cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 654cdf0e10cSrcweir virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() 655cdf0e10cSrcweir throw(::com::sun::star::uno::RuntimeException); 656cdf0e10cSrcweir }; 657cdf0e10cSrcweir 658cdf0e10cSrcweir 659cdf0e10cSrcweir 660cdf0e10cSrcweir #endif 661cdf0e10cSrcweir 662