diff options
author | Kai Sommerfeld <kso@openoffice.org> | 2010-02-05 09:24:35 +0100 |
---|---|---|
committer | Kai Sommerfeld <kso@openoffice.org> | 2010-02-05 09:24:35 +0100 |
commit | 105253a8997418804b03511db227b2ead8b6c1ee (patch) | |
tree | 7a436b176a41cc17b2171d054fc737f0df3faffd /ucb | |
parent | 57558f61e9aa1a45f12a2f72d7a0359303d00be2 (diff) |
#i108923# - build breaker (fix supplied by dtardon - thanks)
Diffstat (limited to 'ucb')
-rw-r--r-- | ucb/source/ucp/gio/gio_datasupplier.cxx | 27 |
1 files changed, 22 insertions, 5 deletions
diff --git a/ucb/source/ucp/gio/gio_datasupplier.cxx b/ucb/source/ucp/gio/gio_datasupplier.cxx index 530456b2502e..be0c57d4d7c0 100644 --- a/ucb/source/ucp/gio/gio_datasupplier.cxx +++ b/ucb/source/ucp/gio/gio_datasupplier.cxx @@ -239,11 +239,28 @@ uno::Reference< sdbc::XRow > DataSupplier::queryPropertyValues( sal_uInt32 nInde if ( getResult( nIndex ) ) { - uno::Reference< sdbc::XRow > xRow = Content::getPropertyValuesFromGFileInfo( - maResults[ nIndex ]->pInfo, m_xSMgr, getResultSet()->getEnvironment(), getResultSet()->getProperties()); - - maResults[ nIndex ]->xRow = xRow; - return xRow; + uno::Reference< ucb::XContent > xContent( queryContent( nIndex ) ); + if ( xContent.is() ) + { + uno::Reference< ucb::XCommandProcessor > xCmdProc( xContent, + uno::UNO_QUERY ); + if ( xCmdProc.is() ) + { + sal_Int32 nCmdId( xCmdProc->createCommandIdentifier() ); + ucb::Command aCmd; + aCmd.Name = rtl::OUString::createFromAscii( "getPropertyValues" ); + aCmd.Handle = -1; + aCmd.Argument <<= getResultSet()->getProperties(); + uno::Any aResult( xCmdProc->execute( + aCmd, nCmdId, getResultSet()->getEnvironment() ) ); + uno::Reference< sdbc::XRow > xRow; + if ( aResult >>= xRow ) + { + maResults[ nIndex ]->xRow = xRow; + return xRow; + } + } + } } return uno::Reference< sdbc::XRow >(); } |