summaryrefslogtreecommitdiff
path: root/ucb
diff options
context:
space:
mode:
authorKai Sommerfeld <kso@openoffice.org>2010-02-05 09:24:35 +0100
committerKai Sommerfeld <kso@openoffice.org>2010-02-05 09:24:35 +0100
commit105253a8997418804b03511db227b2ead8b6c1ee (patch)
tree7a436b176a41cc17b2171d054fc737f0df3faffd /ucb
parent57558f61e9aa1a45f12a2f72d7a0359303d00be2 (diff)
#i108923# - build breaker (fix supplied by dtardon - thanks)
Diffstat (limited to 'ucb')
-rw-r--r--ucb/source/ucp/gio/gio_datasupplier.cxx27
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 >();
}