summaryrefslogtreecommitdiff
path: root/xmlhelp/source/cxxhelp/provider/content.cxx
diff options
context:
space:
mode:
authorAndreas Bille <abi@openoffice.org>2001-05-17 08:58:55 +0000
committerAndreas Bille <abi@openoffice.org>2001-05-17 08:58:55 +0000
commit7851708af63f2fb051acecf0e32b2a775e44f485 (patch)
tree924646636905009a4c05d7408696c7d6d8bd5ec2 /xmlhelp/source/cxxhelp/provider/content.cxx
parent86360790b986f8de74e5df45cc0d5fd9f53507af (diff)
Query results and module information
Diffstat (limited to 'xmlhelp/source/cxxhelp/provider/content.cxx')
-rw-r--r--xmlhelp/source/cxxhelp/provider/content.cxx66
1 files changed, 61 insertions, 5 deletions
diff --git a/xmlhelp/source/cxxhelp/provider/content.cxx b/xmlhelp/source/cxxhelp/provider/content.cxx
index 09bf5fb6f786..16d854b438ba 100644
--- a/xmlhelp/source/cxxhelp/provider/content.cxx
+++ b/xmlhelp/source/cxxhelp/provider/content.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: content.cxx,v $
*
- * $Revision: 1.2 $
+ * $Revision: 1.3 $
*
- * last change: $Author: abi $ $Date: 2001-05-16 14:53:27 $
+ * last change: $Author: abi $ $Date: 2001-05-17 09:58:55 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -117,6 +117,9 @@
#ifndef _RESULTSETFORROOT_HXX
#include <provider/resultsetforroot.hxx>
#endif
+#ifndef _RESULTSETFORQUERY_HXX
+#include <provider/resultsetforquery.hxx>
+#endif
using namespace com::sun::star::container;
@@ -318,6 +321,49 @@ public:
+class ResultSetForQueryFactory
+ : public ResultSetFactory
+{
+private:
+
+ Reference< XMultiServiceFactory > m_xSMgr;
+ Reference< XContentProvider > m_xProvider;
+ sal_Int32 m_nOpenMode;
+ Sequence< Property > m_seq;
+ Sequence< NumberedSortingInfo > m_seqSort;
+ URLParameter m_aURLParameter;
+
+
+public:
+
+ ResultSetForQueryFactory( const Reference< XMultiServiceFactory >& xSMgr,
+ const Reference< XContentProvider >& xProvider,
+ sal_Int32 nOpenMode,
+ const Sequence< Property >& seq,
+ const Sequence< NumberedSortingInfo >& seqSort,
+ URLParameter aURLParameter )
+ : m_xSMgr( xSMgr ),
+ m_xProvider( xProvider ),
+ m_nOpenMode( nOpenMode ),
+ m_seq( seq ),
+ m_seqSort( seqSort ),
+ m_aURLParameter( aURLParameter )
+ {
+ }
+
+ ResultSetBase* createResultSet()
+ {
+ return new ResultSetForQuery( m_xSMgr,
+ m_xProvider,
+ m_nOpenMode,
+ m_seq,
+ m_seqSort,
+ m_aURLParameter );
+ }
+};
+
+
+
// virtual
Any SAL_CALL Content::execute( const Command& aCommand,
sal_Int32 CommandId,
@@ -377,10 +423,20 @@ Any SAL_CALL Content::execute( const Command& aCommand,
m_aURLParameter ) );
aRet <<= xSet;
}
-
- if( m_aURLParameter.isQuery() )
+ else if( m_aURLParameter.isQuery() )
{
-
+ Reference< XDynamicResultSet > xSet
+ = new DynamicResultSet( m_xSMgr,
+ this,
+ aOpenCommand,
+ Environment,
+ new ResultSetForQueryFactory( m_xSMgr,
+ m_xProvider.getBodyPtr(),
+ aOpenCommand.Mode,
+ aOpenCommand.Properties,
+ aOpenCommand.SortingInfo,
+ m_aURLParameter ) );
+ aRet <<= xSet;
}
}
else