1 /************************************************************************* 2 * 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * Copyright 2000, 2010 Oracle and/or its affiliates. 6 * 7 * OpenOffice.org - a multi-platform office productivity suite 8 * 9 * This file is part of OpenOffice.org. 10 * 11 * OpenOffice.org is free software: you can redistribute it and/or modify 12 * it under the terms of the GNU Lesser General Public License version 3 13 * only, as published by the Free Software Foundation. 14 * 15 * OpenOffice.org is distributed in the hope that it will be useful, 16 * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 * GNU Lesser General Public License version 3 for more details 19 * (a copy is included in the LICENSE file that accompanied this code). 20 * 21 * You should have received a copy of the GNU Lesser General Public License 22 * version 3 along with OpenOffice.org. If not, see 23 * <http://www.openoffice.org/license.html> 24 * for a copy of the LGPLv3 License. 25 * 26 ************************************************************************/ 27 28 #ifndef CONNECTIVITY_STATIC_DBTOOLS_SIMPLE_HXX 29 #define CONNECTIVITY_STATIC_DBTOOLS_SIMPLE_HXX 30 31 #include <connectivity/virtualdbtools.hxx> 32 #include "refbase.hxx" 33 34 //........................................................................ 35 namespace connectivity 36 { 37 //........................................................................ 38 39 //================================================================ 40 //= ODataAccessStaticTools 41 //================================================================ 42 class ODataAccessStaticTools 43 :public simple::IDataAccessTypeConversion 44 ,public simple::IDataAccessTools 45 ,public ORefBase 46 { 47 public: 48 ODataAccessStaticTools(); 49 50 // IDataAccessTypeConversion 51 // ------------------------------------------------ 52 virtual ::com::sun::star::util::Date getStandardDate() const; 53 54 // ------------------------------------------------ 55 virtual double getValue( 56 const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XColumn>& _rxVariant, 57 const ::com::sun::star::util::Date& rNullDate ) const; 58 59 // ------------------------------------------------ 60 virtual ::rtl::OUString getFormattedValue( 61 const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XColumn >& _rxColumn, 62 const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatter >& _rxFormatter, 63 const ::com::sun::star::util::Date& _rNullDate, 64 sal_Int32 _nKey, 65 sal_Int16 _nKeyType) const; 66 67 // ------------------------------------------------ 68 virtual ::rtl::OUString getFormattedValue( 69 const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet>& _rxColumn, 70 const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatter>& _rxFormatter, 71 const ::com::sun::star::lang::Locale& _rLocale, 72 const ::com::sun::star::util::Date& _rNullDate 73 ) const; 74 75 // IDataAccessTools 76 // ------------------------------------------------ 77 virtual ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection> getConnection_withFeedback( 78 const ::rtl::OUString& _rDataSourceName, 79 const ::rtl::OUString& _rUser, 80 const ::rtl::OUString& _rPwd, 81 const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory>& _rxFactory 82 ) const SAL_THROW ( (::com::sun::star::sdbc::SQLException) ); 83 84 // ------------------------------------------------ 85 virtual ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection> connectRowset( 86 const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XRowSet>& _rxRowSet, 87 const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory>& _rxFactory, 88 sal_Bool _bSetAsActiveConnection 89 ) const SAL_THROW ( ( ::com::sun::star::sdbc::SQLException 90 , ::com::sun::star::lang::WrappedTargetException 91 , ::com::sun::star::uno::RuntimeException ) ); 92 93 // ------------------------------------------------ 94 virtual ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection> getRowSetConnection( 95 const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XRowSet>& _rxRowSet) 96 const SAL_THROW ( (::com::sun::star::uno::RuntimeException) ); 97 98 // ------------------------------------------------ 99 ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatsSupplier> getNumberFormats( 100 const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection>& _rxConn, 101 sal_Bool _bAllowDefault 102 ) const; 103 104 // ------------------------------------------------ 105 virtual sal_Int32 getDefaultNumberFormat( 106 const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxColumn, 107 const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatTypes >& _rxTypes, 108 const ::com::sun::star::lang::Locale& _rLocale 109 ) const; 110 111 // ------------------------------------------------ 112 virtual void TransferFormComponentProperties( 113 const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet>& _rxOld, 114 const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet>& _rxNew, 115 const ::com::sun::star::lang::Locale& _rLocale 116 ) const; 117 118 // ------------------------------------------------ 119 virtual ::rtl::OUString quoteName( 120 const ::rtl::OUString& _rQuote, 121 const ::rtl::OUString& _rName 122 ) const; 123 124 // ------------------------------------------------ 125 virtual ::rtl::OUString composeTableNameForSelect( 126 const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection >& _rxConnection, 127 const ::rtl::OUString& _rCatalog, 128 const ::rtl::OUString& _rSchema, 129 const ::rtl::OUString& _rName 130 ) const; 131 132 // ------------------------------------------------ 133 virtual ::rtl::OUString composeTableNameForSelect( 134 const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection >& _rxConnection, 135 const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet>& _xTable 136 ) const; 137 138 // ------------------------------------------------ 139 virtual ::com::sun::star::sdb::SQLContext prependContextInfo( 140 ::com::sun::star::sdbc::SQLException& _rException, 141 const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& _rxContext, 142 const ::rtl::OUString& _rContextDescription, 143 const ::rtl::OUString& _rContextDetails 144 ) const; 145 146 // ------------------------------------------------ 147 virtual ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XDataSource > getDataSource( 148 const ::rtl::OUString& _rsRegisteredName, 149 const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory>& _rxFactory 150 ) const; 151 152 // ------------------------------------------------ 153 /** check if the property "Privileges" supports ::com::sun::star::sdbcx::Privilege::INSERT 154 @param _rxCursorSet the property set 155 */ 156 virtual sal_Bool canInsert(const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet>& _rxCursorSet) const; 157 158 // ------------------------------------------------ 159 /** check if the property "Privileges" supports ::com::sun::star::sdbcx::Privilege::UPDATE 160 @param _rxCursorSet the property set 161 */ 162 virtual sal_Bool canUpdate(const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet>& _rxCursorSet) const; 163 164 // ------------------------------------------------ 165 /** check if the property "Privileges" supports ::com::sun::star::sdbcx::Privilege::DELETE 166 @param _rxCursorSet the property set 167 */ 168 virtual sal_Bool canDelete(const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet>& _rxCursorSet) const; 169 170 // ------------------------------------------------ 171 virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess > 172 getFieldsByCommandDescriptor( 173 const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection >& _rxConnection, 174 const sal_Int32 _nCommandType, 175 const ::rtl::OUString& _rCommand, 176 ::com::sun::star::uno::Reference< ::com::sun::star::lang::XComponent >& _rxKeepFieldsAlive, 177 ::dbtools::SQLExceptionInfo* _pErrorInfo = NULL 178 ) SAL_THROW( ( ) ); 179 180 // ------------------------------------------------ 181 virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > 182 getFieldNamesByCommandDescriptor( 183 const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection >& _rxConnection, 184 const sal_Int32 _nCommandType, 185 const ::rtl::OUString& _rCommand, 186 ::dbtools::SQLExceptionInfo* _pErrorInfo = NULL 187 ) SAL_THROW( ( ) ); 188 189 // ------------------------------------------------ 190 virtual bool isEmbeddedInDatabase( 191 const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& _rxComponent, 192 ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection >& _rxActualConnection 193 ); 194 195 // disambiguate IReference 196 // ------------------------------------------------ 197 virtual oslInterlockedCount SAL_CALL acquire(); 198 virtual oslInterlockedCount SAL_CALL release(); 199 }; 200 201 //........................................................................ 202 } // namespace connectivity 203 //........................................................................ 204 205 #endif // CONNECTIVITY_STATIC_DBTOOLS_SIMPLE_HXX 206 207