1 /************************************************************** 2 * 3 * Licensed to the Apache Software Foundation (ASF) under one 4 * or more contributor license agreements. See the NOTICE file 5 * distributed with this work for additional information 6 * regarding copyright ownership. The ASF licenses this file 7 * to you under the Apache License, Version 2.0 (the 8 * "License"); you may not use this file except in compliance 9 * with the License. You may obtain a copy of the License at 10 * 11 * http://www.apache.org/licenses/LICENSE-2.0 12 * 13 * Unless required by applicable law or agreed to in writing, 14 * software distributed under the License is distributed on an 15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 * KIND, either express or implied. See the License for the 17 * specific language governing permissions and limitations 18 * under the License. 19 * 20 *************************************************************/ 21 22 23 24 #ifndef CONNECTIVITY_STATIC_DBTOOLS_SIMPLE_HXX 25 #define CONNECTIVITY_STATIC_DBTOOLS_SIMPLE_HXX 26 27 #include <connectivity/virtualdbtools.hxx> 28 #include "refbase.hxx" 29 30 //........................................................................ 31 namespace connectivity 32 { 33 //........................................................................ 34 35 //================================================================ 36 //= ODataAccessStaticTools 37 //================================================================ 38 class ODataAccessStaticTools 39 :public simple::IDataAccessTypeConversion 40 ,public simple::IDataAccessTools 41 ,public ORefBase 42 { 43 public: 44 ODataAccessStaticTools(); 45 46 // IDataAccessTypeConversion 47 // ------------------------------------------------ 48 virtual ::com::sun::star::util::Date getStandardDate() const; 49 50 // ------------------------------------------------ 51 virtual double getValue( 52 const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XColumn>& _rxVariant, 53 const ::com::sun::star::util::Date& rNullDate ) const; 54 55 // ------------------------------------------------ 56 virtual ::rtl::OUString getFormattedValue( 57 const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XColumn >& _rxColumn, 58 const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatter >& _rxFormatter, 59 const ::com::sun::star::util::Date& _rNullDate, 60 sal_Int32 _nKey, 61 sal_Int16 _nKeyType) const; 62 63 // ------------------------------------------------ 64 virtual ::rtl::OUString getFormattedValue( 65 const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet>& _rxColumn, 66 const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatter>& _rxFormatter, 67 const ::com::sun::star::lang::Locale& _rLocale, 68 const ::com::sun::star::util::Date& _rNullDate 69 ) const; 70 71 // IDataAccessTools 72 // ------------------------------------------------ 73 virtual ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection> getConnection_withFeedback( 74 const ::rtl::OUString& _rDataSourceName, 75 const ::rtl::OUString& _rUser, 76 const ::rtl::OUString& _rPwd, 77 const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory>& _rxFactory 78 ) const; 79 80 // ------------------------------------------------ 81 virtual ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection> connectRowset( 82 const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XRowSet>& _rxRowSet, 83 const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory>& _rxFactory, 84 sal_Bool _bSetAsActiveConnection 85 ) const; 86 87 // ------------------------------------------------ 88 virtual ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection> getRowSetConnection( 89 const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XRowSet>& _rxRowSet) 90 const; 91 92 // ------------------------------------------------ 93 ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatsSupplier> getNumberFormats( 94 const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection>& _rxConn, 95 sal_Bool _bAllowDefault 96 ) const; 97 98 // ------------------------------------------------ 99 virtual sal_Int32 getDefaultNumberFormat( 100 const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxColumn, 101 const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatTypes >& _rxTypes, 102 const ::com::sun::star::lang::Locale& _rLocale 103 ) const; 104 105 // ------------------------------------------------ 106 virtual void TransferFormComponentProperties( 107 const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet>& _rxOld, 108 const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet>& _rxNew, 109 const ::com::sun::star::lang::Locale& _rLocale 110 ) const; 111 112 // ------------------------------------------------ 113 virtual ::rtl::OUString quoteName( 114 const ::rtl::OUString& _rQuote, 115 const ::rtl::OUString& _rName 116 ) const; 117 118 // ------------------------------------------------ 119 virtual ::rtl::OUString composeTableNameForSelect( 120 const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection >& _rxConnection, 121 const ::rtl::OUString& _rCatalog, 122 const ::rtl::OUString& _rSchema, 123 const ::rtl::OUString& _rName 124 ) const; 125 126 // ------------------------------------------------ 127 virtual ::rtl::OUString composeTableNameForSelect( 128 const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection >& _rxConnection, 129 const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet>& _xTable 130 ) const; 131 132 // ------------------------------------------------ 133 virtual ::com::sun::star::sdb::SQLContext prependContextInfo( 134 ::com::sun::star::sdbc::SQLException& _rException, 135 const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& _rxContext, 136 const ::rtl::OUString& _rContextDescription, 137 const ::rtl::OUString& _rContextDetails 138 ) const; 139 140 // ------------------------------------------------ 141 virtual ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XDataSource > getDataSource( 142 const ::rtl::OUString& _rsRegisteredName, 143 const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory>& _rxFactory 144 ) const; 145 146 // ------------------------------------------------ 147 /** check if the property "Privileges" supports ::com::sun::star::sdbcx::Privilege::INSERT 148 @param _rxCursorSet the property set 149 */ 150 virtual sal_Bool canInsert(const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet>& _rxCursorSet) const; 151 152 // ------------------------------------------------ 153 /** check if the property "Privileges" supports ::com::sun::star::sdbcx::Privilege::UPDATE 154 @param _rxCursorSet the property set 155 */ 156 virtual sal_Bool canUpdate(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::DELETE 160 @param _rxCursorSet the property set 161 */ 162 virtual sal_Bool canDelete(const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet>& _rxCursorSet) const; 163 164 // ------------------------------------------------ 165 virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess > 166 getFieldsByCommandDescriptor( 167 const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection >& _rxConnection, 168 const sal_Int32 _nCommandType, 169 const ::rtl::OUString& _rCommand, 170 ::com::sun::star::uno::Reference< ::com::sun::star::lang::XComponent >& _rxKeepFieldsAlive, 171 ::dbtools::SQLExceptionInfo* _pErrorInfo = NULL 172 ) SAL_THROW( ( ) ); 173 174 // ------------------------------------------------ 175 virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > 176 getFieldNamesByCommandDescriptor( 177 const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection >& _rxConnection, 178 const sal_Int32 _nCommandType, 179 const ::rtl::OUString& _rCommand, 180 ::dbtools::SQLExceptionInfo* _pErrorInfo = NULL 181 ) SAL_THROW( ( ) ); 182 183 // ------------------------------------------------ 184 virtual bool isEmbeddedInDatabase( 185 const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& _rxComponent, 186 ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection >& _rxActualConnection 187 ); 188 189 // disambiguate IReference 190 // ------------------------------------------------ 191 virtual oslInterlockedCount SAL_CALL acquire(); 192 virtual oslInterlockedCount SAL_CALL release(); 193 }; 194 195 //........................................................................ 196 } // namespace connectivity 197 //........................................................................ 198 199 #endif // CONNECTIVITY_STATIC_DBTOOLS_SIMPLE_HXX 200