23 #include <com/sun/star/ucb/ContentResultSetCapability.hpp>
24 #include <com/sun/star/ucb/SortedDynamicResultSetFactory.hpp>
25 #include <osl/diagnose.h>
40 OSL_ENSURE(
m_xContext.is(),
"need Multiservicefactory to create stub" );
50 void CachedDynamicResultSetStub
54 OSL_ENSURE( m_xSourceResultOne.is(),
"need source resultset" );
59 osl::Guard< osl::Mutex > aGuard(
m_aMutex );
60 m_xMyResultOne = xStub;
64 void CachedDynamicResultSetStub
68 OSL_ENSURE( m_xSourceResultTwo.is(),
"need source resultset" );
73 osl::Guard< osl::Mutex > aGuard(
m_aMutex );
74 m_xMyResultTwo = xStub;
82 OWeakObject::acquire();
88 OWeakObject::release();
91 Any SAL_CALL CachedDynamicResultSetStub
92 ::queryInterface(
const Type& rType )
101 static_cast< XTypeProvider* >(
this )
102 , static_cast< XServiceInfo* >(
this )
104 return aRet.hasValue() ? aRet : OWeakObject::queryInterface( rType );
115 , XDynamicResultSetListener
116 , XSourceInitialization
124 return "com.sun.star.comp.ucb.CachedDynamicResultSetStub";
134 return {
"com.sun.star.ucb.CachedDynamicResultSetStub" };
155 return "com.sun.star.comp.ucb.CachedDynamicResultSetStubFactory";
163 return {
"com.sun.star.ucb.CachedDynamicResultSetStubFactory" };
170 extern "C" SAL_DLLPUBLIC_EXPORT css::uno::XInterface*
172 css::uno::XComponentContext* context , css::uno::Sequence<css::uno::Any>
const&)
183 ::createCachedDynamicResultSetStub(
191 void SAL_CALL CachedDynamicResultSetStubFactory
199 OSL_ENSURE( Source.is(),
"a Source is needed" );
200 OSL_ENSURE( TargetCache.is(),
"a TargetCache is needed" );
203 if( SortingInfo.hasElements() &&
204 !( xSource->getCapabilities() & ContentResultSetCapability::SORTED )
210 xSortFactory = SortedDynamicResultSetFactory::create(
m_xContext );
216 if( xSortFactory.is() )
219 xSortFactory->createSortedDynamicResultSet(
220 Source, SortingInfo, CompareFactory ) );
230 OSL_ENSURE( xTarget.is(),
"Target must have interface XSourceInitialization" );
232 xTarget->setSource( xStub );
virtual void impl_InitResultSetTwo(const css::uno::Reference< css::sdbc::XResultSet > &xResultSet)
virtual void SAL_CALL release() override
Reference< XInterface > xTarget
CachedDynamicResultSetStub(css::uno::Reference< css::ucb::XDynamicResultSet > const &xOrigin, const css::uno::Reference< css::uno::XComponentContext > &rxContext)
virtual OUString SAL_CALL getImplementationName() override
CachedDynamicResultSetStubFactory(const css::uno::Reference< css::uno::XComponentContext > &rxContext)
virtual ~CachedDynamicResultSetStub() override
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
virtual ~CachedDynamicResultSetStubFactory() override
bool CPPUHELPER_DLLPUBLIC supportsService(css::lang::XServiceInfo *implementation, rtl::OUString const &name)
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
virtual void impl_InitResultSetOne(const css::uno::Reference< css::sdbc::XResultSet > &xResultSet)
virtual sal_Bool SAL_CALL supportsService(const OUString &ServiceName) override
SAL_DLLPUBLIC_EXPORT css::uno::XInterface * ucb_CachedDynamicResultSetStubFactory_get_implementation(css::uno::XComponentContext *context, css::uno::Sequence< css::uno::Any > const &)
css::uno::Reference< css::uno::XComponentContext > m_xContext
virtual OUString SAL_CALL getImplementationName() override
css::uno::Reference< css::uno::XComponentContext > m_xContext
virtual css::uno::Any SAL_CALL queryInterface(const css::uno::Type &rType) override
virtual void SAL_CALL acquire() override
Reference< XComponentContext > m_xContext
virtual sal_Bool SAL_CALL supportsService(const OUString &ServiceName) override
css::uno::Any SAL_CALL queryInterface(const css::uno::Type &rType, Interface1 *p1)
XTYPEPROVIDER_IMPL_5(CachedDynamicResultSetStub, XTypeProvider, XServiceInfo, XDynamicResultSet, XDynamicResultSetListener, XSourceInitialization)