diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2016-06-06 09:47:01 +0200 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2016-06-06 09:47:32 +0200 |
commit | 61e0433fdf1bfd391378ff9fcbf697aec4c5e61a (patch) | |
tree | 49958278850b7e54657c75f0a32b398ef0971841 /connectivity | |
parent | e5d45064fc2e858c27ab7d97a7a7fa024d210133 (diff) |
Use o3tl/any.hxx in connectivity
Change-Id: I5c0d84b20b9146c4fc65bfdc0e9c65a05c93d71c
Diffstat (limited to 'connectivity')
-rw-r--r-- | connectivity/source/commontools/dbexception.cxx | 17 | ||||
-rw-r--r-- | connectivity/source/commontools/dbtools.cxx | 73 | ||||
-rw-r--r-- | connectivity/source/commontools/warningscontainer.cxx | 3 | ||||
-rw-r--r-- | connectivity/source/drivers/postgresql/pq_tools.cxx | 35 |
4 files changed, 66 insertions, 62 deletions
diff --git a/connectivity/source/commontools/dbexception.cxx b/connectivity/source/commontools/dbexception.cxx index f718a3ceb218..38251b71eee2 100644 --- a/connectivity/source/commontools/dbexception.cxx +++ b/connectivity/source/commontools/dbexception.cxx @@ -20,6 +20,7 @@ #include <connectivity/dbexception.hxx> #include <comphelper/types.hxx> #include <cppuhelper/exc_hlp.hxx> +#include <o3tl/any.hxx> #include <osl/diagnose.h> #include <com/sun/star/sdb/SQLContext.hpp> #include <com/sun/star/sdbc/SQLWarning.hpp> @@ -174,14 +175,14 @@ bool SQLExceptionInfo::isKindOf(TYPE _eType) const SQLExceptionInfo::operator const css::sdbc::SQLException*() const { OSL_ENSURE(isKindOf(TYPE::SQLException), "SQLExceptionInfo::operator SQLException* : invalid call !"); - return static_cast<const css::sdbc::SQLException*>(m_aContent.getValue()); + return o3tl::doGet<css::sdbc::SQLException>(m_aContent); } SQLExceptionInfo::operator const css::sdb::SQLContext*() const { OSL_ENSURE(isKindOf(TYPE::SQLContext), "SQLExceptionInfo::operator SQLException* : invalid call !"); - return static_cast<const css::sdb::SQLContext*>(m_aContent.getValue()); + return o3tl::doGet<css::sdb::SQLContext>(m_aContent); } @@ -212,10 +213,10 @@ void SQLExceptionInfo::append( TYPE _eType, const OUString& _rErrorMessage, cons break; } - SQLException* pAppendException( static_cast< SQLException* >( const_cast< void* >( aAppend.getValue() ) ) ); - pAppendException->Message = _rErrorMessage; - pAppendException->SQLState = _rSQLState; - pAppendException->ErrorCode = _nErrorCode; + SQLException& pAppendException = const_cast<SQLException &>(*o3tl::forceGet<SQLException>(aAppend)); + pAppendException.Message = _rErrorMessage; + pAppendException.SQLState = _rSQLState; + pAppendException.ErrorCode = _nErrorCode; // find the end of the current chain Any* pChainIterator = &m_aContent; @@ -229,7 +230,7 @@ void SQLExceptionInfo::append( TYPE _eType, const OUString& _rErrorMessage, cons if ( !isAssignableFrom( aSQLExceptionType, pChainIterator->getValueType() ) ) break; - pLastException = static_cast< SQLException* >( const_cast< void* >( pChainIterator->getValue() ) ); + pLastException = const_cast< SQLException* >( o3tl::doGet<SQLException>( *pChainIterator ) ); pChainIterator = &pLastException->NextException; } @@ -313,7 +314,7 @@ const css::sdbc::SQLException* SQLExceptionIteratorHelper::next() return pReturn; } - m_pCurrent = static_cast< const SQLException* >( m_pCurrent->NextException.getValue() ); + m_pCurrent = o3tl::doGet< SQLException >( m_pCurrent->NextException ); // no finally determine the proper type of the exception const Type aTypeContext( ::cppu::UnoType< SQLContext >::get() ); diff --git a/connectivity/source/commontools/dbtools.cxx b/connectivity/source/commontools/dbtools.cxx index 45e0e36659a2..b71ff9aa8cd0 100644 --- a/connectivity/source/commontools/dbtools.cxx +++ b/connectivity/source/commontools/dbtools.cxx @@ -73,6 +73,7 @@ #include <connectivity/dbexception.hxx> #include <connectivity/dbtools.hxx> #include <connectivity/statementcomposer.hxx> +#include <o3tl/any.hxx> #include <osl/diagnose.h> #include <rtl/ustrbuf.hxx> #include <tools/diagnose_ex.h> @@ -1155,14 +1156,14 @@ try { Any aDate( xOldProps->getPropertyValue(sPropDefaultDate) ); if (aDate.hasValue()) - aNewDefault <<= DBTypeConversion::toDouble(*static_cast<Date const *>(aDate.getValue())); + aNewDefault <<= DBTypeConversion::toDouble(*o3tl::doGet<Date>(aDate)); } if (hasProperty(sPropDefaultTime, xOldProps)) { Any aTime( xOldProps->getPropertyValue(sPropDefaultTime) ); if (aTime.hasValue()) - aNewDefault <<= DBTypeConversion::toDouble(*static_cast<Time const *>(aTime.getValue())); + aNewDefault <<= DBTypeConversion::toDouble(*o3tl::doGet<Time>(aTime)); } // double or OUString will be copied directly @@ -1449,29 +1450,29 @@ bool implUpdateObject(const Reference< XRowUpdate >& _rxUpdatedObject, break; case TypeClass_STRING: - _rxUpdatedObject->updateString(_nColumnIndex, *static_cast<OUString const *>(_rValue.getValue())); + _rxUpdatedObject->updateString(_nColumnIndex, *o3tl::forceGet<OUString>(_rValue)); break; case TypeClass_BOOLEAN: - _rxUpdatedObject->updateBoolean(_nColumnIndex, *static_cast<sal_Bool const *>(_rValue.getValue())); + _rxUpdatedObject->updateBoolean(_nColumnIndex, *o3tl::forceGet<bool>(_rValue)); break; case TypeClass_BYTE: - _rxUpdatedObject->updateByte(_nColumnIndex, *static_cast<sal_Int8 const *>(_rValue.getValue())); + _rxUpdatedObject->updateByte(_nColumnIndex, *o3tl::forceGet<sal_Int8>(_rValue)); break; case TypeClass_UNSIGNED_SHORT: case TypeClass_SHORT: - _rxUpdatedObject->updateShort(_nColumnIndex, *static_cast<sal_Int16 const *>(_rValue.getValue())); + _rxUpdatedObject->updateShort(_nColumnIndex, *o3tl::forceGet<sal_Int16>(_rValue)); break; case TypeClass_CHAR: - _rxUpdatedObject->updateString(_nColumnIndex,OUString(static_cast<sal_Unicode const *>(_rValue.getValue()),1)); + _rxUpdatedObject->updateString(_nColumnIndex,OUString(*o3tl::forceGet<sal_Unicode>(_rValue))); break; case TypeClass_UNSIGNED_LONG: case TypeClass_LONG: - _rxUpdatedObject->updateInt(_nColumnIndex, *static_cast<sal_Int32 const *>(_rValue.getValue())); + _rxUpdatedObject->updateInt(_nColumnIndex, *o3tl::forceGet<sal_Int32>(_rValue)); break; case TypeClass_HYPER: @@ -1483,36 +1484,34 @@ bool implUpdateObject(const Reference< XRowUpdate >& _rxUpdatedObject, break; case TypeClass_FLOAT: - _rxUpdatedObject->updateFloat(_nColumnIndex, *static_cast<float const *>(_rValue.getValue())); + _rxUpdatedObject->updateFloat(_nColumnIndex, *o3tl::forceGet<float>(_rValue)); break; case TypeClass_DOUBLE: - _rxUpdatedObject->updateDouble(_nColumnIndex, *static_cast<double const *>(_rValue.getValue())); + _rxUpdatedObject->updateDouble(_nColumnIndex, *o3tl::forceGet<double>(_rValue)); break; case TypeClass_SEQUENCE: - if (_rValue.getValueType() == cppu::UnoType< Sequence< sal_Int8 > >::get()) - _rxUpdatedObject->updateBytes(_nColumnIndex, *static_cast<Sequence<sal_Int8> const *>(_rValue.getValue())); + if (auto s = o3tl::tryGet<Sequence< sal_Int8 >>(_rValue)) + _rxUpdatedObject->updateBytes(_nColumnIndex, *s); else bSuccessfullyReRouted = false; break; case TypeClass_STRUCT: - if (_rValue.getValueType() == cppu::UnoType<DateTime>::get()) - _rxUpdatedObject->updateTimestamp(_nColumnIndex, *static_cast<DateTime const *>(_rValue.getValue())); - else if (_rValue.getValueType() == cppu::UnoType<Date>::get()) - _rxUpdatedObject->updateDate(_nColumnIndex, *static_cast<Date const *>(_rValue.getValue())); - else if (_rValue.getValueType() == cppu::UnoType<Time>::get()) - _rxUpdatedObject->updateTime(_nColumnIndex, *static_cast<Time const *>(_rValue.getValue())); + if (auto s1 = o3tl::tryGet<DateTime>(_rValue)) + _rxUpdatedObject->updateTimestamp(_nColumnIndex, *s1); + else if (auto s2 = o3tl::tryGet<Date>(_rValue)) + _rxUpdatedObject->updateDate(_nColumnIndex, *s2); + else if (auto s3 = o3tl::tryGet<Time>(_rValue)) + _rxUpdatedObject->updateTime(_nColumnIndex, *s3); else bSuccessfullyReRouted = false; break; case TypeClass_INTERFACE: - if (_rValue.getValueType() == cppu::UnoType<XInputStream>::get()) + if (auto xStream = o3tl::tryGet<Reference<XInputStream>>(_rValue)) { - Reference< XInputStream > xStream; - _rValue >>= xStream; - _rxUpdatedObject->updateBinaryStream(_nColumnIndex, xStream, xStream->available()); + _rxUpdatedObject->updateBinaryStream(_nColumnIndex, *xStream, (*xStream)->available()); break; } SAL_FALLTHROUGH; @@ -1559,23 +1558,23 @@ bool implSetObject( const Reference< XParameters >& _rxParameters, break; case TypeClass_STRING: - _rxParameters->setString(_nColumnIndex, *static_cast<OUString const *>(_rValue.getValue())); + _rxParameters->setString(_nColumnIndex, *o3tl::forceGet<OUString>(_rValue)); break; case TypeClass_BOOLEAN: - _rxParameters->setBoolean(_nColumnIndex, *static_cast<sal_Bool const *>(_rValue.getValue())); + _rxParameters->setBoolean(_nColumnIndex, *o3tl::forceGet<bool>(_rValue)); break; case TypeClass_BYTE: - _rxParameters->setByte(_nColumnIndex, *static_cast<sal_Int8 const *>(_rValue.getValue())); + _rxParameters->setByte(_nColumnIndex, *o3tl::forceGet<sal_Int8>(_rValue)); break; case TypeClass_SHORT: - _rxParameters->setShort(_nColumnIndex, *static_cast<sal_Int16 const *>(_rValue.getValue())); + _rxParameters->setShort(_nColumnIndex, *o3tl::forceGet<sal_Int16>(_rValue)); break; case TypeClass_CHAR: - _rxParameters->setString(_nColumnIndex, OUString(static_cast<sal_Unicode const *>(_rValue.getValue()),1)); + _rxParameters->setString(_nColumnIndex, OUString(*o3tl::forceGet<sal_Unicode>(_rValue))); break; case TypeClass_UNSIGNED_SHORT: @@ -1588,28 +1587,28 @@ bool implSetObject( const Reference< XParameters >& _rxParameters, } case TypeClass_FLOAT: - _rxParameters->setFloat(_nColumnIndex, *static_cast<float const *>(_rValue.getValue())); + _rxParameters->setFloat(_nColumnIndex, *o3tl::forceGet<float>(_rValue)); break; case TypeClass_DOUBLE: - _rxParameters->setDouble(_nColumnIndex, *static_cast<double const *>(_rValue.getValue())); + _rxParameters->setDouble(_nColumnIndex, *o3tl::forceGet<double>(_rValue)); break; case TypeClass_SEQUENCE: - if (_rValue.getValueType() == cppu::UnoType< Sequence< sal_Int8 > >::get()) + if (auto s = o3tl::tryGet<Sequence< sal_Int8 >>(_rValue)) { - _rxParameters->setBytes(_nColumnIndex, *static_cast<Sequence<sal_Int8> const *>(_rValue.getValue())); + _rxParameters->setBytes(_nColumnIndex, *s); } else bSuccessfullyReRouted = false; break; case TypeClass_STRUCT: - if (_rValue.getValueType() == cppu::UnoType<DateTime>::get()) - _rxParameters->setTimestamp(_nColumnIndex, *static_cast<DateTime const *>(_rValue.getValue())); - else if (_rValue.getValueType() == cppu::UnoType<Date>::get()) - _rxParameters->setDate(_nColumnIndex, *static_cast<Date const *>(_rValue.getValue())); - else if (_rValue.getValueType() == cppu::UnoType<Time>::get()) - _rxParameters->setTime(_nColumnIndex, *static_cast<Time const *>(_rValue.getValue())); + if (auto s1 = o3tl::tryGet<DateTime>(_rValue)) + _rxParameters->setTimestamp(_nColumnIndex, *s1); + else if (auto s2 = o3tl::tryGet<Date>(_rValue)) + _rxParameters->setDate(_nColumnIndex, *s2); + else if (auto s3 = o3tl::tryGet<Time>(_rValue)) + _rxParameters->setTime(_nColumnIndex, *s3); else bSuccessfullyReRouted = false; break; diff --git a/connectivity/source/commontools/warningscontainer.cxx b/connectivity/source/commontools/warningscontainer.cxx index 5d355323eb34..787b6cf8f9e3 100644 --- a/connectivity/source/commontools/warningscontainer.cxx +++ b/connectivity/source/commontools/warningscontainer.cxx @@ -21,6 +21,7 @@ #include <connectivity/warningscontainer.hxx> #include <connectivity/dbexception.hxx> +#include <o3tl/any.hxx> #include <osl/diagnose.h> @@ -44,7 +45,7 @@ namespace dbtools OSL_ENSURE( SQLExceptionInfo( _rChainLeft ).isValid(), "lcl_concatWarnings: invalid warnings chain (this will crash)!" ); - const SQLException* pChainTravel = static_cast< const SQLException* >( _rChainLeft.getValue() ); + const SQLException* pChainTravel = o3tl::doGet<SQLException>( _rChainLeft ); SQLExceptionIteratorHelper aReferenceIterHelper( *pChainTravel ); while ( aReferenceIterHelper.hasMoreElements() ) pChainTravel = aReferenceIterHelper.next(); diff --git a/connectivity/source/drivers/postgresql/pq_tools.cxx b/connectivity/source/drivers/postgresql/pq_tools.cxx index d698287e23a0..06898e9f82e1 100644 --- a/connectivity/source/drivers/postgresql/pq_tools.cxx +++ b/connectivity/source/drivers/postgresql/pq_tools.cxx @@ -34,6 +34,9 @@ * ************************************************************************/ +#include <sal/config.h> + +#include <o3tl/any.hxx> #include <rtl/strbuf.hxx> #include <rtl/ustrbuf.hxx> @@ -1163,54 +1166,54 @@ bool implSetObject( const Reference< XParameters >& _rxParameters, break; case typelib_TypeClass_STRING: - _rxParameters->setString(_nColumnIndex, *static_cast<OUString const *>(_rValue.getValue())); + _rxParameters->setString(_nColumnIndex, *o3tl::forceGet<OUString>(_rValue)); break; case typelib_TypeClass_BOOLEAN: - _rxParameters->setBoolean(_nColumnIndex, *static_cast<sal_Bool const *>(_rValue.getValue())); + _rxParameters->setBoolean(_nColumnIndex, *o3tl::forceGet<bool>(_rValue)); break; case typelib_TypeClass_BYTE: - _rxParameters->setByte(_nColumnIndex, *static_cast<sal_Int8 const *>(_rValue.getValue())); + _rxParameters->setByte(_nColumnIndex, *o3tl::forceGet<sal_Int8>(_rValue)); break; case typelib_TypeClass_UNSIGNED_SHORT: case typelib_TypeClass_SHORT: - _rxParameters->setShort(_nColumnIndex, *static_cast<sal_Int16 const *>(_rValue.getValue())); + _rxParameters->setShort(_nColumnIndex, *o3tl::forceGet<sal_Int16>(_rValue)); break; case typelib_TypeClass_CHAR: - _rxParameters->setString(_nColumnIndex, OUString(static_cast<sal_Unicode const *>(_rValue.getValue()),1)); + _rxParameters->setString(_nColumnIndex, OUString(*o3tl::forceGet<sal_Unicode>(_rValue))); break; case typelib_TypeClass_UNSIGNED_LONG: case typelib_TypeClass_LONG: - _rxParameters->setInt(_nColumnIndex, *static_cast<sal_Int32 const *>(_rValue.getValue())); + _rxParameters->setInt(_nColumnIndex, *o3tl::forceGet<sal_Int32>(_rValue)); break; case typelib_TypeClass_FLOAT: - _rxParameters->setFloat(_nColumnIndex, *static_cast<float const *>(_rValue.getValue())); + _rxParameters->setFloat(_nColumnIndex, *o3tl::forceGet<float>(_rValue)); break; case typelib_TypeClass_DOUBLE: - _rxParameters->setDouble(_nColumnIndex, *static_cast<double const *>(_rValue.getValue())); + _rxParameters->setDouble(_nColumnIndex, *o3tl::forceGet<double>(_rValue)); break; case typelib_TypeClass_SEQUENCE: - if (_rValue.getValueType() == cppu::UnoType<Sequence< sal_Int8 >>::get()) + if (auto s = o3tl::tryGet<Sequence< sal_Int8 >>(_rValue)) { - _rxParameters->setBytes(_nColumnIndex, *static_cast<Sequence<sal_Int8> const *>(_rValue.getValue())); + _rxParameters->setBytes(_nColumnIndex, *s); } else bSuccessfullyReRouted = false; break; case typelib_TypeClass_STRUCT: - if (_rValue.getValueType() == cppu::UnoType<css::util::DateTime>::get()) - _rxParameters->setTimestamp(_nColumnIndex, *static_cast<css::util::DateTime const *>(_rValue.getValue())); - else if (_rValue.getValueType() == cppu::UnoType<css::util::Date>::get()) - _rxParameters->setDate(_nColumnIndex, *static_cast<css::util::Date const *>(_rValue.getValue())); - else if (_rValue.getValueType() == cppu::UnoType<css::util::Time>::get()) - _rxParameters->setTime(_nColumnIndex, *static_cast<css::util::Time const *>(_rValue.getValue())); + if (auto s1 = o3tl::tryGet<css::util::DateTime>(_rValue)) + _rxParameters->setTimestamp(_nColumnIndex, *s1); + else if (auto s2 = o3tl::tryGet<css::util::Date>(_rValue)) + _rxParameters->setDate(_nColumnIndex, *s2); + else if (auto s3 = o3tl::tryGet<css::util::Time>(_rValue)) + _rxParameters->setTime(_nColumnIndex, *s3); else bSuccessfullyReRouted = false; break; |