diff options
-rw-r--r-- | connectivity/source/drivers/firebird/Driver.cxx | 24 | ||||
-rw-r--r-- | connectivity/source/drivers/firebird/Driver.hxx | 21 |
2 files changed, 41 insertions, 4 deletions
diff --git a/connectivity/source/drivers/firebird/Driver.cxx b/connectivity/source/drivers/firebird/Driver.cxx index 21afe46576c9..7be842a3e4fe 100644 --- a/connectivity/source/drivers/firebird/Driver.cxx +++ b/connectivity/source/drivers/firebird/Driver.cxx @@ -32,6 +32,7 @@ using namespace com::sun::star::uno; using namespace com::sun::star::lang; using namespace com::sun::star::beans; using namespace com::sun::star::sdbc; +using namespace com::sun::star::sdbcx; using namespace ::osl; @@ -81,8 +82,9 @@ rtl::OUString FirebirdDriver::getImplementationName_Static() throw(RuntimeExcept Sequence< OUString > FirebirdDriver::getSupportedServiceNames_Static() throw (RuntimeException) { // TODO: add com.sun.star.sdbcx.Driver once all sdbc functionality is implemented - Sequence< OUString > aSNS( 1 ); + Sequence< OUString > aSNS( 2 ); aSNS[0] = OUString("com.sun.star.sdbc.Driver"); + aSNS[0] = OUString("com.sun.star.sdbcx.Driver"); return aSNS; } @@ -167,6 +169,26 @@ sal_Int32 SAL_CALL FirebirdDriver::getMinorVersion( ) throw(RuntimeException) return 0; } +//----- XDataDefinitionSupplier +uno::Reference< XTablesSupplier > SAL_CALL FirebirdDriver::getDataDefinitionByConnection( + const uno::Reference< XConnection >& rxConnection) + throw(SQLException, RuntimeException) +{ + (void) rxConnection; + // TODO: IMPLEMENT ME + return 0; +} + +uno::Reference< XTablesSupplier > SAL_CALL FirebirdDriver::getDataDefinitionByURL( + const OUString& rsURL, + const uno::Sequence< PropertyValue >& rInfo) + throw(SQLException, RuntimeException) +{ + (void) rsURL; + (void) rInfo; + // TODO: IMPLEMENT ME + return 0; +} namespace connectivity { diff --git a/connectivity/source/drivers/firebird/Driver.hxx b/connectivity/source/drivers/firebird/Driver.hxx index fcb0f5750b62..545d98ac714b 100644 --- a/connectivity/source/drivers/firebird/Driver.hxx +++ b/connectivity/source/drivers/firebird/Driver.hxx @@ -22,9 +22,10 @@ #include "Connection.hxx" -#include <com/sun/star/sdbc/XDriver.hpp> #include <com/sun/star/lang/XServiceInfo.hpp> -#include <cppuhelper/compbase2.hxx> +#include <com/sun/star/sdbc/XDriver.hpp> +#include <com/sun/star/sdbcx/XDataDefinitionSupplier.hpp> +#include <cppuhelper/compbase3.hxx> namespace connectivity { @@ -37,7 +38,8 @@ namespace connectivity ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL FirebirdDriver_CreateInstance(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& _rxFactory) throw( ::com::sun::star::uno::Exception ); - typedef ::cppu::WeakComponentImplHelper2< ::com::sun::star::sdbc::XDriver, + typedef ::cppu::WeakComponentImplHelper3< ::com::sun::star::sdbc::XDriver, + ::com::sun::star::sdbcx::XDataDefinitionSupplier, ::com::sun::star::lang::XServiceInfo > ODriver_BASE; class FirebirdDriver : public ODriver_BASE @@ -69,6 +71,19 @@ namespace connectivity virtual ::com::sun::star::uno::Sequence< ::com::sun::star::sdbc::DriverPropertyInfo > SAL_CALL getPropertyInfo( const ::rtl::OUString& url, const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& info ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); virtual sal_Int32 SAL_CALL getMajorVersion( ) throw(::com::sun::star::uno::RuntimeException); virtual sal_Int32 SAL_CALL getMinorVersion( ) throw(::com::sun::star::uno::RuntimeException); + + // XDataDefinitionSupplier + virtual ::com::sun::star::uno::Reference< ::com::sun::star::sdbcx::XTablesSupplier > + SAL_CALL getDataDefinitionByConnection( + const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection >& rxConnection) + throw(::com::sun::star::sdbc::SQLException, + ::com::sun::star::uno::RuntimeException); + virtual ::com::sun::star::uno::Reference< ::com::sun::star::sdbcx::XTablesSupplier > + SAL_CALL getDataDefinitionByURL( + const OUString& rsURL, + const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& rInfo) + throw(::com::sun::star::sdbc::SQLException, + ::com::sun::star::uno::RuntimeException); }; } |