Bug Summary

File:ucbhelper/source/provider/resultsethelper.cxx
Location:line 212, column 5
Description:Called C++ object pointer is null

Annotated Source Code

1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2/*
3 * This file is part of the LibreOffice project.
4 *
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 *
9 * This file incorporates work covered by the following license notice:
10 *
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18 */
19
20
21/**************************************************************************
22 TODO
23 **************************************************************************
24
25 - This implementation is far away from completion. It has no interface
26 for changes notifications etc.
27
28 *************************************************************************/
29#include <com/sun/star/ucb/ListActionType.hpp>
30#include <com/sun/star/ucb/WelcomeDynamicResultSetStruct.hpp>
31#include <com/sun/star/ucb/XCachedDynamicResultSetStubFactory.hpp>
32#include <com/sun/star/ucb/XSourceInitialization.hpp>
33#include <cppuhelper/interfacecontainer.hxx>
34#include <ucbhelper/resultsethelper.hxx>
35
36#include "osl/diagnose.h"
37
38using namespace com::sun::star;
39
40//=========================================================================
41//=========================================================================
42//
43// ResultSetImplHelper Implementation.
44//
45//=========================================================================
46//=========================================================================
47
48namespace ucbhelper {
49
50//=========================================================================
51ResultSetImplHelper::ResultSetImplHelper(
52 const uno::Reference< lang::XMultiServiceFactory >& rxSMgr,
53 const com::sun::star::ucb::OpenCommandArgument2& rCommand )
54: m_pDisposeEventListeners( 0 ),
55 m_bStatic( sal_False((sal_Bool)0) ),
56 m_bInitDone( sal_False((sal_Bool)0) ),
57 m_aCommand( rCommand ),
58 m_xSMgr( rxSMgr )
59{
60}
61
62//=========================================================================
63// virtual
64ResultSetImplHelper::~ResultSetImplHelper()
65{
66 delete m_pDisposeEventListeners;
67}
68
69//=========================================================================
70//
71// XInterface methods.
72//
73//=========================================================================
74
75XINTERFACE_IMPL_4( ResultSetImplHelper,void ResultSetImplHelper::acquire() throw() { OWeakObject::acquire
(); } void ResultSetImplHelper::release() throw() { OWeakObject
::release(); } com::sun::star::uno::Any ResultSetImplHelper::
queryInterface( const com::sun::star::uno::Type & rType )
throw( com::sun::star::uno::RuntimeException ) { com::sun::star
::uno::Any aRet = cppu::queryInterface( rType, (static_cast<
lang::XTypeProvider* >(this)), (static_cast< lang::XServiceInfo
* >(this)), (static_cast< lang::XComponent* >(this))
, (static_cast< com::sun::star::ucb::XDynamicResultSet* >
(this)) ); return aRet.hasValue() ? aRet : OWeakObject::queryInterface
( rType ); }
76 lang::XTypeProvider,void ResultSetImplHelper::acquire() throw() { OWeakObject::acquire
(); } void ResultSetImplHelper::release() throw() { OWeakObject
::release(); } com::sun::star::uno::Any ResultSetImplHelper::
queryInterface( const com::sun::star::uno::Type & rType )
throw( com::sun::star::uno::RuntimeException ) { com::sun::star
::uno::Any aRet = cppu::queryInterface( rType, (static_cast<
lang::XTypeProvider* >(this)), (static_cast< lang::XServiceInfo
* >(this)), (static_cast< lang::XComponent* >(this))
, (static_cast< com::sun::star::ucb::XDynamicResultSet* >
(this)) ); return aRet.hasValue() ? aRet : OWeakObject::queryInterface
( rType ); }
77 lang::XServiceInfo,void ResultSetImplHelper::acquire() throw() { OWeakObject::acquire
(); } void ResultSetImplHelper::release() throw() { OWeakObject
::release(); } com::sun::star::uno::Any ResultSetImplHelper::
queryInterface( const com::sun::star::uno::Type & rType )
throw( com::sun::star::uno::RuntimeException ) { com::sun::star
::uno::Any aRet = cppu::queryInterface( rType, (static_cast<
lang::XTypeProvider* >(this)), (static_cast< lang::XServiceInfo
* >(this)), (static_cast< lang::XComponent* >(this))
, (static_cast< com::sun::star::ucb::XDynamicResultSet* >
(this)) ); return aRet.hasValue() ? aRet : OWeakObject::queryInterface
( rType ); }
78 lang::XComponent, /* base of XDynamicResultSet */void ResultSetImplHelper::acquire() throw() { OWeakObject::acquire
(); } void ResultSetImplHelper::release() throw() { OWeakObject
::release(); } com::sun::star::uno::Any ResultSetImplHelper::
queryInterface( const com::sun::star::uno::Type & rType )
throw( com::sun::star::uno::RuntimeException ) { com::sun::star
::uno::Any aRet = cppu::queryInterface( rType, (static_cast<
lang::XTypeProvider* >(this)), (static_cast< lang::XServiceInfo
* >(this)), (static_cast< lang::XComponent* >(this))
, (static_cast< com::sun::star::ucb::XDynamicResultSet* >
(this)) ); return aRet.hasValue() ? aRet : OWeakObject::queryInterface
( rType ); }
79 com::sun::star::ucb::XDynamicResultSet )void ResultSetImplHelper::acquire() throw() { OWeakObject::acquire
(); } void ResultSetImplHelper::release() throw() { OWeakObject
::release(); } com::sun::star::uno::Any ResultSetImplHelper::
queryInterface( const com::sun::star::uno::Type & rType )
throw( com::sun::star::uno::RuntimeException ) { com::sun::star
::uno::Any aRet = cppu::queryInterface( rType, (static_cast<
lang::XTypeProvider* >(this)), (static_cast< lang::XServiceInfo
* >(this)), (static_cast< lang::XComponent* >(this))
, (static_cast< com::sun::star::ucb::XDynamicResultSet* >
(this)) ); return aRet.hasValue() ? aRet : OWeakObject::queryInterface
( rType ); }
;
80
81//=========================================================================
82//
83// XTypeProvider methods.
84//
85//=========================================================================
86
87XTYPEPROVIDER_IMPL_3( ResultSetImplHelper,com::sun::star::uno::Sequence< sal_Int8 > ResultSetImplHelper
::getImplementationId() throw( com::sun::star::uno::RuntimeException
) { static cppu::OImplementationId* pId = __null; if ( !pId )
{ osl::Guard< osl::Mutex > aGuard( osl::Mutex::getGlobalMutex
() ); if ( !pId ) { static cppu::OImplementationId id( ((sal_Bool
)0) ); pId = &id; } } return (*pId).getImplementationId()
; } com::sun::star::uno::Sequence< com::sun::star::uno::Type
> ResultSetImplHelper::getTypes() throw( com::sun::star::
uno::RuntimeException ) { static cppu::OTypeCollection* pCollection
= __null; if ( !pCollection ) { osl::Guard< osl::Mutex >
aGuard( osl::Mutex::getGlobalMutex() ); if ( !pCollection ) {
static cppu::OTypeCollection collection( getCppuType( static_cast
< com::sun::star::uno::Reference< lang::XTypeProvider >
* >( 0 ) ), getCppuType( static_cast< com::sun::star::
uno::Reference< lang::XServiceInfo > * >( 0 ) ), getCppuType
( static_cast< com::sun::star::uno::Reference< com::sun
::star::ucb::XDynamicResultSet > * >( 0 ) ) ); pCollection
= &collection; } } return (*pCollection).getTypes(); }
88 lang::XTypeProvider,com::sun::star::uno::Sequence< sal_Int8 > ResultSetImplHelper
::getImplementationId() throw( com::sun::star::uno::RuntimeException
) { static cppu::OImplementationId* pId = __null; if ( !pId )
{ osl::Guard< osl::Mutex > aGuard( osl::Mutex::getGlobalMutex
() ); if ( !pId ) { static cppu::OImplementationId id( ((sal_Bool
)0) ); pId = &id; } } return (*pId).getImplementationId()
; } com::sun::star::uno::Sequence< com::sun::star::uno::Type
> ResultSetImplHelper::getTypes() throw( com::sun::star::
uno::RuntimeException ) { static cppu::OTypeCollection* pCollection
= __null; if ( !pCollection ) { osl::Guard< osl::Mutex >
aGuard( osl::Mutex::getGlobalMutex() ); if ( !pCollection ) {
static cppu::OTypeCollection collection( getCppuType( static_cast
< com::sun::star::uno::Reference< lang::XTypeProvider >
* >( 0 ) ), getCppuType( static_cast< com::sun::star::
uno::Reference< lang::XServiceInfo > * >( 0 ) ), getCppuType
( static_cast< com::sun::star::uno::Reference< com::sun
::star::ucb::XDynamicResultSet > * >( 0 ) ) ); pCollection
= &collection; } } return (*pCollection).getTypes(); }
89 lang::XServiceInfo,com::sun::star::uno::Sequence< sal_Int8 > ResultSetImplHelper
::getImplementationId() throw( com::sun::star::uno::RuntimeException
) { static cppu::OImplementationId* pId = __null; if ( !pId )
{ osl::Guard< osl::Mutex > aGuard( osl::Mutex::getGlobalMutex
() ); if ( !pId ) { static cppu::OImplementationId id( ((sal_Bool
)0) ); pId = &id; } } return (*pId).getImplementationId()
; } com::sun::star::uno::Sequence< com::sun::star::uno::Type
> ResultSetImplHelper::getTypes() throw( com::sun::star::
uno::RuntimeException ) { static cppu::OTypeCollection* pCollection
= __null; if ( !pCollection ) { osl::Guard< osl::Mutex >
aGuard( osl::Mutex::getGlobalMutex() ); if ( !pCollection ) {
static cppu::OTypeCollection collection( getCppuType( static_cast
< com::sun::star::uno::Reference< lang::XTypeProvider >
* >( 0 ) ), getCppuType( static_cast< com::sun::star::
uno::Reference< lang::XServiceInfo > * >( 0 ) ), getCppuType
( static_cast< com::sun::star::uno::Reference< com::sun
::star::ucb::XDynamicResultSet > * >( 0 ) ) ); pCollection
= &collection; } } return (*pCollection).getTypes(); }
90 com::sun::star::ucb::XDynamicResultSet )com::sun::star::uno::Sequence< sal_Int8 > ResultSetImplHelper
::getImplementationId() throw( com::sun::star::uno::RuntimeException
) { static cppu::OImplementationId* pId = __null; if ( !pId )
{ osl::Guard< osl::Mutex > aGuard( osl::Mutex::getGlobalMutex
() ); if ( !pId ) { static cppu::OImplementationId id( ((sal_Bool
)0) ); pId = &id; } } return (*pId).getImplementationId()
; } com::sun::star::uno::Sequence< com::sun::star::uno::Type
> ResultSetImplHelper::getTypes() throw( com::sun::star::
uno::RuntimeException ) { static cppu::OTypeCollection* pCollection
= __null; if ( !pCollection ) { osl::Guard< osl::Mutex >
aGuard( osl::Mutex::getGlobalMutex() ); if ( !pCollection ) {
static cppu::OTypeCollection collection( getCppuType( static_cast
< com::sun::star::uno::Reference< lang::XTypeProvider >
* >( 0 ) ), getCppuType( static_cast< com::sun::star::
uno::Reference< lang::XServiceInfo > * >( 0 ) ), getCppuType
( static_cast< com::sun::star::uno::Reference< com::sun
::star::ucb::XDynamicResultSet > * >( 0 ) ) ); pCollection
= &collection; } } return (*pCollection).getTypes(); }
;
91
92//=========================================================================
93//
94// XServiceInfo methods.
95//
96//=========================================================================
97
98XSERVICEINFO_NOFACTORY_IMPL_1( ResultSetImplHelper,rtl::OUString ResultSetImplHelper::getImplementationName() throw
( com::sun::star::uno::RuntimeException ) { return getImplementationName_Static
(); } rtl::OUString ResultSetImplHelper::getImplementationName_Static
() { return rtl::OUString( "ResultSetImplHelper" ); } sal_Bool
ResultSetImplHelper::supportsService( const rtl::OUString&
ServiceName ) throw( com::sun::star::uno::RuntimeException )
{ com::sun::star::uno::Sequence< rtl::OUString > aSNL =
getSupportedServiceNames(); const rtl::OUString* pArray = aSNL
.getArray(); for( sal_Int32 i = 0; i < aSNL.getLength(); i
++ ) { if( pArray[ i ] == ServiceName ) return ((sal_Bool)1);
} return ((sal_Bool)0); } com::sun::star::uno::Sequence< rtl
::OUString > ResultSetImplHelper::getSupportedServiceNames
() throw( com::sun::star::uno::RuntimeException ) { return getSupportedServiceNames_Static
(); } com::sun::star::uno::Sequence< rtl::OUString > ResultSetImplHelper
::getSupportedServiceNames_Static() { com::sun::star::uno::Sequence
< rtl::OUString > aSNS( 1 ); aSNS.getArray()[ 0 ] = rtl
::OUString( "com.sun.star.ucb.DynamicResultSet" ); return aSNS
; }
99 rtl::OUString(rtl::OUString ResultSetImplHelper::getImplementationName() throw
( com::sun::star::uno::RuntimeException ) { return getImplementationName_Static
(); } rtl::OUString ResultSetImplHelper::getImplementationName_Static
() { return rtl::OUString( "ResultSetImplHelper" ); } sal_Bool
ResultSetImplHelper::supportsService( const rtl::OUString&
ServiceName ) throw( com::sun::star::uno::RuntimeException )
{ com::sun::star::uno::Sequence< rtl::OUString > aSNL =
getSupportedServiceNames(); const rtl::OUString* pArray = aSNL
.getArray(); for( sal_Int32 i = 0; i < aSNL.getLength(); i
++ ) { if( pArray[ i ] == ServiceName ) return ((sal_Bool)1);
} return ((sal_Bool)0); } com::sun::star::uno::Sequence< rtl
::OUString > ResultSetImplHelper::getSupportedServiceNames
() throw( com::sun::star::uno::RuntimeException ) { return getSupportedServiceNames_Static
(); } com::sun::star::uno::Sequence< rtl::OUString > ResultSetImplHelper
::getSupportedServiceNames_Static() { com::sun::star::uno::Sequence
< rtl::OUString > aSNS( 1 ); aSNS.getArray()[ 0 ] = rtl
::OUString( "com.sun.star.ucb.DynamicResultSet" ); return aSNS
; }
100 "ResultSetImplHelper" ),rtl::OUString ResultSetImplHelper::getImplementationName() throw
( com::sun::star::uno::RuntimeException ) { return getImplementationName_Static
(); } rtl::OUString ResultSetImplHelper::getImplementationName_Static
() { return rtl::OUString( "ResultSetImplHelper" ); } sal_Bool
ResultSetImplHelper::supportsService( const rtl::OUString&
ServiceName ) throw( com::sun::star::uno::RuntimeException )
{ com::sun::star::uno::Sequence< rtl::OUString > aSNL =
getSupportedServiceNames(); const rtl::OUString* pArray = aSNL
.getArray(); for( sal_Int32 i = 0; i < aSNL.getLength(); i
++ ) { if( pArray[ i ] == ServiceName ) return ((sal_Bool)1);
} return ((sal_Bool)0); } com::sun::star::uno::Sequence< rtl
::OUString > ResultSetImplHelper::getSupportedServiceNames
() throw( com::sun::star::uno::RuntimeException ) { return getSupportedServiceNames_Static
(); } com::sun::star::uno::Sequence< rtl::OUString > ResultSetImplHelper
::getSupportedServiceNames_Static() { com::sun::star::uno::Sequence
< rtl::OUString > aSNS( 1 ); aSNS.getArray()[ 0 ] = rtl
::OUString( "com.sun.star.ucb.DynamicResultSet" ); return aSNS
; }
101 rtl::OUString(rtl::OUString ResultSetImplHelper::getImplementationName() throw
( com::sun::star::uno::RuntimeException ) { return getImplementationName_Static
(); } rtl::OUString ResultSetImplHelper::getImplementationName_Static
() { return rtl::OUString( "ResultSetImplHelper" ); } sal_Bool
ResultSetImplHelper::supportsService( const rtl::OUString&
ServiceName ) throw( com::sun::star::uno::RuntimeException )
{ com::sun::star::uno::Sequence< rtl::OUString > aSNL =
getSupportedServiceNames(); const rtl::OUString* pArray = aSNL
.getArray(); for( sal_Int32 i = 0; i < aSNL.getLength(); i
++ ) { if( pArray[ i ] == ServiceName ) return ((sal_Bool)1);
} return ((sal_Bool)0); } com::sun::star::uno::Sequence< rtl
::OUString > ResultSetImplHelper::getSupportedServiceNames
() throw( com::sun::star::uno::RuntimeException ) { return getSupportedServiceNames_Static
(); } com::sun::star::uno::Sequence< rtl::OUString > ResultSetImplHelper
::getSupportedServiceNames_Static() { com::sun::star::uno::Sequence
< rtl::OUString > aSNS( 1 ); aSNS.getArray()[ 0 ] = rtl
::OUString( "com.sun.star.ucb.DynamicResultSet" ); return aSNS
; }
102 DYNAMICRESULTSET_SERVICE_NAME ) )rtl::OUString ResultSetImplHelper::getImplementationName() throw
( com::sun::star::uno::RuntimeException ) { return getImplementationName_Static
(); } rtl::OUString ResultSetImplHelper::getImplementationName_Static
() { return rtl::OUString( "ResultSetImplHelper" ); } sal_Bool
ResultSetImplHelper::supportsService( const rtl::OUString&
ServiceName ) throw( com::sun::star::uno::RuntimeException )
{ com::sun::star::uno::Sequence< rtl::OUString > aSNL =
getSupportedServiceNames(); const rtl::OUString* pArray = aSNL
.getArray(); for( sal_Int32 i = 0; i < aSNL.getLength(); i
++ ) { if( pArray[ i ] == ServiceName ) return ((sal_Bool)1);
} return ((sal_Bool)0); } com::sun::star::uno::Sequence< rtl
::OUString > ResultSetImplHelper::getSupportedServiceNames
() throw( com::sun::star::uno::RuntimeException ) { return getSupportedServiceNames_Static
(); } com::sun::star::uno::Sequence< rtl::OUString > ResultSetImplHelper
::getSupportedServiceNames_Static() { com::sun::star::uno::Sequence
< rtl::OUString > aSNS( 1 ); aSNS.getArray()[ 0 ] = rtl
::OUString( "com.sun.star.ucb.DynamicResultSet" ); return aSNS
; }
;
103
104//=========================================================================
105//
106// XComponent methods.
107//
108//=========================================================================
109
110// virtual
111void SAL_CALL ResultSetImplHelper::dispose()
112 throw( uno::RuntimeException )
113{
114 osl::MutexGuard aGuard( m_aMutex );
115
116 if ( m_pDisposeEventListeners && m_pDisposeEventListeners->getLength() )
117 {
118 lang::EventObject aEvt;
119 aEvt.Source = static_cast< lang::XComponent * >( this );
120 m_pDisposeEventListeners->disposeAndClear( aEvt );
121 }
122}
123
124//=========================================================================
125// virtual
126void SAL_CALL ResultSetImplHelper::addEventListener(
127 const uno::Reference< lang::XEventListener >& Listener )
128 throw( uno::RuntimeException )
129{
130 osl::MutexGuard aGuard( m_aMutex );
131
132 if ( !m_pDisposeEventListeners )
133 m_pDisposeEventListeners
134 = new cppu::OInterfaceContainerHelper( m_aMutex );
135
136 m_pDisposeEventListeners->addInterface( Listener );
137}
138
139//=========================================================================
140// virtual
141void SAL_CALL ResultSetImplHelper::removeEventListener(
142 const uno::Reference< lang::XEventListener >& Listener )
143 throw( uno::RuntimeException )
144{
145 osl::MutexGuard aGuard( m_aMutex );
146
147 if ( m_pDisposeEventListeners )
148 m_pDisposeEventListeners->removeInterface( Listener );
149}
150
151//=========================================================================
152//
153// XDynamicResultSet methods.
154//
155//=========================================================================
156
157// virtual
158uno::Reference< sdbc::XResultSet > SAL_CALL
159ResultSetImplHelper::getStaticResultSet()
160 throw( com::sun::star::ucb::ListenerAlreadySetException,
161 uno::RuntimeException )
162{
163 osl::MutexGuard aGuard( m_aMutex );
164
165 if ( m_xListener.is() )
166 throw com::sun::star::ucb::ListenerAlreadySetException();
167
168 init( sal_True((sal_Bool)1) );
169 return m_xResultSet1;
170}
171
172//=========================================================================
173// virtual
174void SAL_CALL ResultSetImplHelper::setListener(
175 const uno::Reference< com::sun::star::ucb::XDynamicResultSetListener >&
176 Listener )
177 throw( com::sun::star::ucb::ListenerAlreadySetException,
178 uno::RuntimeException )
179{
180 osl::ClearableMutexGuard aGuard( m_aMutex );
181
182 if ( m_bStatic || m_xListener.is() )
1
Taking false branch
183 throw com::sun::star::ucb::ListenerAlreadySetException();
184
185 m_xListener = Listener;
186
187 //////////////////////////////////////////////////////////////////////
188 // Create "welcome event" and send it to listener.
189 //////////////////////////////////////////////////////////////////////
190
191 // Note: We only have the implementation for a static result set at the
192 // moment (src590). The dynamic result sets passed to the listener
193 // are a fake. This implementation will never call "notify" at the
194 // listener to propagate any changes!!!
195
196 init( sal_False((sal_Bool)0) );
197
198 uno::Any aInfo;
199 aInfo <<= com::sun::star::ucb::WelcomeDynamicResultSetStruct(
200 m_xResultSet1 /* "old" */,
201 m_xResultSet2 /* "new" */ );
202
203 uno::Sequence< com::sun::star::ucb::ListAction > aActions( 1 );
204 aActions.getArray()[ 0 ]
205 = com::sun::star::ucb::ListAction(
206 0, // Position; not used
207 0, // Count; not used
208 com::sun::star::ucb::ListActionType::WELCOME,
209 aInfo );
210 aGuard.clear();
211
212 Listener->notify(
2
Called C++ object pointer is null
213 com::sun::star::ucb::ListEvent(
214 static_cast< cppu::OWeakObject * >( this ), aActions ) );
215}
216
217//=========================================================================
218// virtual
219sal_Int16 SAL_CALL ResultSetImplHelper::getCapabilities()
220 throw( uno::RuntimeException )
221{
222 // ! com::sun::star::ucb::ContentResultSetCapability::SORTED
223 return 0;
224}
225
226//=========================================================================
227// virtual
228void SAL_CALL ResultSetImplHelper::connectToCache(
229 const uno::Reference< com::sun::star::ucb::XDynamicResultSet > &
230 xCache )
231 throw( com::sun::star::ucb::ListenerAlreadySetException,
232 com::sun::star::ucb::AlreadyInitializedException,
233 com::sun::star::ucb::ServiceNotFoundException,
234 uno::RuntimeException )
235{
236 if ( m_xListener.is() )
237 throw com::sun::star::ucb::ListenerAlreadySetException();
238
239 if ( m_bStatic )
240 throw com::sun::star::ucb::ListenerAlreadySetException();
241
242 uno::Reference< com::sun::star::ucb::XSourceInitialization >
243 xTarget( xCache, uno::UNO_QUERY );
244 if ( xTarget.is() )
245 {
246 uno::Reference<
247 com::sun::star::ucb::XCachedDynamicResultSetStubFactory >
248 xStubFactory;
249 try
250 {
251 xStubFactory
252 = uno::Reference<
253 com::sun::star::ucb::XCachedDynamicResultSetStubFactory >(
254 m_xSMgr->createInstance(
255 rtl::OUString(
256 "com.sun.star.ucb.CachedDynamicResultSetStubFactory" ) ),
257 uno::UNO_QUERY );
258 }
259 catch ( uno::Exception const & )
260 {
261 }
262
263 if ( xStubFactory.is() )
264 {
265 xStubFactory->connectToCache(
266 this, xCache, m_aCommand.SortingInfo, 0 );
267 return;
268 }
269 }
270 throw com::sun::star::ucb::ServiceNotFoundException();
271}
272
273//=========================================================================
274//
275// Non-interface methods.
276//
277//=========================================================================
278
279void ResultSetImplHelper::init( sal_Bool bStatic )
280{
281 osl::MutexGuard aGuard( m_aMutex );
282
283 if ( !m_bInitDone )
284 {
285 if ( bStatic )
286 {
287 // virtual... derived class fills m_xResultSet1
288 initStatic();
289
290 OSL_ENSURE( m_xResultSet1.is(),do { if (true && (!(m_xResultSet1.is()))) { sal_detail_logFormat
((SAL_DETAIL_LOG_LEVEL_WARN), ("legacy.osl"), ("/usr/local/src/libreoffice/ucbhelper/source/provider/resultsethelper.cxx"
":" "291" ": "), "%s", "ResultSetImplHelper::init - No 1st result set!"
); } } while (false)
291 "ResultSetImplHelper::init - No 1st result set!" )do { if (true && (!(m_xResultSet1.is()))) { sal_detail_logFormat
((SAL_DETAIL_LOG_LEVEL_WARN), ("legacy.osl"), ("/usr/local/src/libreoffice/ucbhelper/source/provider/resultsethelper.cxx"
":" "291" ": "), "%s", "ResultSetImplHelper::init - No 1st result set!"
); } } while (false)
;
292 m_bStatic = sal_True((sal_Bool)1);
293 }
294 else
295 {
296 // virtual... derived class fills m_xResultSet1 and m_xResultSet2
297 initDynamic();
298
299 OSL_ENSURE( m_xResultSet1.is(),do { if (true && (!(m_xResultSet1.is()))) { sal_detail_logFormat
((SAL_DETAIL_LOG_LEVEL_WARN), ("legacy.osl"), ("/usr/local/src/libreoffice/ucbhelper/source/provider/resultsethelper.cxx"
":" "300" ": "), "%s", "ResultSetImplHelper::init - No 1st result set!"
); } } while (false)
300 "ResultSetImplHelper::init - No 1st result set!" )do { if (true && (!(m_xResultSet1.is()))) { sal_detail_logFormat
((SAL_DETAIL_LOG_LEVEL_WARN), ("legacy.osl"), ("/usr/local/src/libreoffice/ucbhelper/source/provider/resultsethelper.cxx"
":" "300" ": "), "%s", "ResultSetImplHelper::init - No 1st result set!"
); } } while (false)
;
301 OSL_ENSURE( m_xResultSet2.is(),do { if (true && (!(m_xResultSet2.is()))) { sal_detail_logFormat
((SAL_DETAIL_LOG_LEVEL_WARN), ("legacy.osl"), ("/usr/local/src/libreoffice/ucbhelper/source/provider/resultsethelper.cxx"
":" "302" ": "), "%s", "ResultSetImplHelper::init - No 2nd result set!"
); } } while (false)
302 "ResultSetImplHelper::init - No 2nd result set!" )do { if (true && (!(m_xResultSet2.is()))) { sal_detail_logFormat
((SAL_DETAIL_LOG_LEVEL_WARN), ("legacy.osl"), ("/usr/local/src/libreoffice/ucbhelper/source/provider/resultsethelper.cxx"
":" "302" ": "), "%s", "ResultSetImplHelper::init - No 2nd result set!"
); } } while (false)
;
303 m_bStatic = sal_False((sal_Bool)0);
304 }
305 m_bInitDone = sal_True((sal_Bool)1);
306 }
307}
308
309} // namespace ucbhelper
310
311/* vim:set shiftwidth=4 softtabstop=4 expandtab: */