Skip to content
Projeler
Gruplar
Parçacıklar
Yardım
Yükleniyor...
Oturum aç / Kaydol
Gezinmeyi değiştir
C
core
Proje
Proje
Ayrıntılar
Etkinlik
Cycle Analytics
Depo (repository)
Depo (repository)
Dosyalar
Kayıtlar (commit)
Dallar (branch)
Etiketler
Katkıda bulunanlar
Grafik
Karşılaştır
Grafikler
Konular (issue)
0
Konular (issue)
0
Liste
Pano
Etiketler
Kilometre Taşları
Birleştirme (merge) Talepleri
0
Birleştirme (merge) Talepleri
0
CI / CD
CI / CD
İş akışları (pipeline)
İşler
Zamanlamalar
Grafikler
Paketler
Paketler
Wiki
Wiki
Parçacıklar
Parçacıklar
Üyeler
Üyeler
Collapse sidebar
Close sidebar
Etkinlik
Grafik
Grafikler
Yeni bir konu (issue) oluştur
İşler
Kayıtlar (commit)
Konu (issue) Panoları
Kenar çubuğunu aç
LibreOffice
core
Commits
ef8f40bc
Kaydet (Commit)
ef8f40bc
authored
Nis 26, 2001
tarafından
Ocke Janssen
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
impl connectionpool
üst
d202c902
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
744 additions
and
0 deletions
+744
-0
ZConnectionPool.hxx
connectivity/source/cpool/ZConnectionPool.hxx
+213
-0
ZConnectionWrapper.cxx
connectivity/source/cpool/ZConnectionWrapper.cxx
+0
-0
ZConnectionWrapper.hxx
connectivity/source/cpool/ZConnectionWrapper.hxx
+143
-0
ZPooledConnection.cxx
connectivity/source/cpool/ZPooledConnection.cxx
+116
-0
Zregistration.cxx
connectivity/source/cpool/Zregistration.cxx
+144
-0
dbpool.map
connectivity/source/cpool/dbpool.map
+8
-0
exports.dxp
connectivity/source/cpool/exports.dxp
+3
-0
makefile.mk
connectivity/source/cpool/makefile.mk
+117
-0
No files found.
connectivity/source/cpool/ZConnectionPool.hxx
0 → 100644
Dosyayı görüntüle @
ef8f40bc
/*************************************************************************
*
* $RCSfile: ZConnectionPool.hxx,v $
*
* $Revision: 1.1 $
*
* last change: $Author: oj $ $Date: 2001-04-26 09:12:37 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
*
* - GNU Lesser General Public License Version 2.1
* - Sun Industry Standards Source License Version 1.1
*
* Sun Microsystems Inc., October, 2000
*
* GNU Lesser General Public License Version 2.1
* =============================================
* Copyright 2000 by Sun Microsystems, Inc.
* 901 San Antonio Road, Palo Alto, CA 94303, USA
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License version 2.1, as published by the Free Software Foundation.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
* MA 02111-1307 USA
*
*
* Sun Industry Standards Source License Version 1.1
* =================================================
* The contents of this file are subject to the Sun Industry Standards
* Source License Version 1.1 (the License); You may not use this file
* except in compliance with the License. You may obtain a copy of the
* License at http://www.openoffice.org/license.html.
*
* Software provided under this License is provided on an AS IS basis,
* WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
* WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
* MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
* See the License for the specific provisions governing your rights and
* obligations concerning the Software.
*
* The Initial Developer of the Original Code is: Sun Microsystems, Inc.
*
* Copyright: 2000 by Sun Microsystems, Inc.
*
* All Rights Reserved.
*
* Contributor(s): _______________________________________
*
*
************************************************************************/
#ifndef _CONNECTIVITY_ZCONNECTIONPOOL_HXX_
#define _CONNECTIVITY_ZCONNECTIONPOOL_HXX_
#ifndef _COM_SUN_STAR_SDBC_XDRIVERMANAGER_HPP_
#include <com/sun/star/sdbc/XDriverManager.hpp>
#endif
#ifndef _COM_SUN_STAR_SDBC_XDRIVER_HPP_
#include <com/sun/star/sdbc/XDriver.hpp>
#endif
#ifndef _COM_SUN_STAR_SDBC_XDRIVERACCESS_HPP_
#include <com/sun/star/sdbc/XDriverAccess.hpp>
#endif
#ifndef _COM_SUN_STAR_SDBC_XPOOLEDCONNECTION_HPP_
#include <com/sun/star/sdbc/XPooledConnection.hpp>
#endif
#ifndef _COM_SUN_STAR_SDBC_XCONNECTION_HPP_
#include <com/sun/star/sdbc/XConnection.hpp>
#endif
#ifndef _COM_SUN_STAR_LANG_XMULTISERVICEFACTORY_HPP_
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
#endif
#ifndef _COM_SUN_STAR_LANG_XSERVICEINFO_HPP_
#include <com/sun/star/lang/XServiceInfo.hpp>
#endif
#ifndef _COM_SUN_STAR_LANG_XEVENTLISTENER_HPP_
#include <com/sun/star/lang/XEventListener.hpp>
#endif
#ifndef _COM_SUN_STAR_BEANS_PROPERTYVALUE_HPP_
#include <com/sun/star/beans/PropertyValue.hpp>
#endif
#ifndef _CPPUHELPER_IMPLBASE4_HXX_
#include <cppuhelper/implbase4.hxx>
#endif
#ifndef _COMPHELPER_STLTYPES_HXX_
#include <comphelper/stl_types.hxx>
#endif
#ifndef _OSL_MUTEX_HXX_
#include <osl/mutex.hxx>
#endif
#ifndef _VOS_TIMER_HXX_
#include <vos/timer.hxx>
#endif
#ifndef _VOS_REF_HXX_
#include <vos/ref.hxx>
#endif
namespace
connectivity
{
class
OConnectionPool
;
//==========================================================================
//= OPoolTimer - Invalidates the connection pool
//==========================================================================
class
OPoolTimer
:
public
::
vos
::
OTimer
{
OConnectionPool
*
m_pPool
;
public
:
OPoolTimer
(
OConnectionPool
*
_pPool
,
const
::
vos
::
TTimeValue
&
_Time
)
:
::
vos
::
OTimer
(
_Time
)
,
m_pPool
(
_pPool
)
{}
protected
:
virtual
void
SAL_CALL
onShot
();
};
//==========================================================================
//= OConnectionPool - the one-instance service for PooledConnections
//= manages the active connections and the connections in the pool
//==========================================================================
typedef
::
cppu
::
ImplHelper4
<
::
com
::
sun
::
star
::
sdbc
::
XDriverManager
,
::
com
::
sun
::
star
::
sdbc
::
XDriverAccess
,
::
com
::
sun
::
star
::
lang
::
XServiceInfo
,
::
com
::
sun
::
star
::
lang
::
XEventListener
>
OConnectionPool_Base
;
// typedef for the interanl structure
typedef
::
std
::
vector
<
::
com
::
sun
::
star
::
uno
::
Reference
<
::
com
::
sun
::
star
::
sdbc
::
XPooledConnection
>
>
TPooledConnections
;
DECLARE_STL_USTRINGACCESS_MAP
(
::
com
::
sun
::
star
::
uno
::
Any
,
PropertyMap
);
// contains the currently pooled connections
typedef
struct
{
PropertyMap
aProps
;
TPooledConnections
aConnections
;
sal_Int32
nALiveCount
;
// will be decremented everytime a time says to, when will reach zero the pool will be deleted
}
TConnectionPool
;
typedef
::
std
::
multimap
<
::
rtl
::
OUString
,
TConnectionPool
,
::
comphelper
::
UStringLess
>
TConnectionMap
;
// contains additional information about a activeconnection which is needed to put it back to the pool
typedef
struct
{
TConnectionMap
::
iterator
aPos
;
::
com
::
sun
::
star
::
uno
::
Reference
<
::
com
::
sun
::
star
::
sdbc
::
XPooledConnection
>
xPooledConnection
;
}
TActiveConnectionInfo
;
typedef
::
std
::
map
<
::
com
::
sun
::
star
::
uno
::
Reference
<
::
com
::
sun
::
star
::
sdbc
::
XConnection
>
,
TActiveConnectionInfo
>
TActiveConnectionMap
;
class
OConnectionPool
:
public
OConnectionPool_Base
{
TConnectionMap
m_aPool
;
// the pooled connections
TActiveConnectionMap
m_aActiveConnections
;
// the currently active connections
::
osl
::
Mutex
m_aMutex
;
::
vos
::
ORef
<
OPoolTimer
>
m_xTimer
;
oslInterlockedCount
m_refCount
;
::
com
::
sun
::
star
::
uno
::
Reference
<
::
com
::
sun
::
star
::
lang
::
XMultiServiceFactory
>
m_xServiceFactory
;
::
com
::
sun
::
star
::
uno
::
Reference
<
::
com
::
sun
::
star
::
sdbc
::
XDriverManager
>
m_xManager
;
private
:
OConnectionPool
(
const
::
com
::
sun
::
star
::
uno
::
Reference
<
::
com
::
sun
::
star
::
lang
::
XMultiServiceFactory
>&
_rxFactory
);
// check two maps
sal_Bool
checkSequences
(
const
PropertyMap
&
_rLh
,
const
PropertyMap
&
_rRh
);
::
com
::
sun
::
star
::
uno
::
Reference
<
::
com
::
sun
::
star
::
sdbc
::
XConnection
>
createNewConnection
(
const
::
rtl
::
OUString
&
_rURL
,
const
::
com
::
sun
::
star
::
uno
::
Sequence
<
::
com
::
sun
::
star
::
beans
::
PropertyValue
>&
_rInfo
);
::
com
::
sun
::
star
::
uno
::
Reference
<
::
com
::
sun
::
star
::
sdbc
::
XConnection
>
getPooledConnection
(
TConnectionMap
::
iterator
&
_rIter
);
// creates a map from a sequence of propertyValue
void
createPropertyMap
(
const
::
com
::
sun
::
star
::
uno
::
Sequence
<
::
com
::
sun
::
star
::
beans
::
PropertyValue
>&
_rInfo
,
PropertyMap
&
_rMap
);
public
:
~
OConnectionPool
();
// XInterface
virtual
void
SAL_CALL
acquire
()
throw
(
::
com
::
sun
::
star
::
uno
::
RuntimeException
);
virtual
void
SAL_CALL
release
()
throw
(
::
com
::
sun
::
star
::
uno
::
RuntimeException
);
// XDriverManager
virtual
::
com
::
sun
::
star
::
uno
::
Reference
<
::
com
::
sun
::
star
::
sdbc
::
XConnection
>
SAL_CALL
getConnection
(
const
::
rtl
::
OUString
&
url
)
throw
(
::
com
::
sun
::
star
::
sdbc
::
SQLException
,
::
com
::
sun
::
star
::
uno
::
RuntimeException
);
virtual
::
com
::
sun
::
star
::
uno
::
Reference
<
::
com
::
sun
::
star
::
sdbc
::
XConnection
>
SAL_CALL
getConnectionWithInfo
(
const
::
rtl
::
OUString
&
url
,
const
::
com
::
sun
::
star
::
uno
::
Sequence
<
::
com
::
sun
::
star
::
beans
::
PropertyValue
>&
info
)
throw
(
::
com
::
sun
::
star
::
sdbc
::
SQLException
,
::
com
::
sun
::
star
::
uno
::
RuntimeException
);
virtual
void
SAL_CALL
setLoginTimeout
(
sal_Int32
seconds
)
throw
(
::
com
::
sun
::
star
::
uno
::
RuntimeException
);
virtual
sal_Int32
SAL_CALL
getLoginTimeout
(
)
throw
(
::
com
::
sun
::
star
::
uno
::
RuntimeException
);
//XDriverAccess
virtual
::
com
::
sun
::
star
::
uno
::
Reference
<
::
com
::
sun
::
star
::
sdbc
::
XDriver
>
SAL_CALL
getDriverByURL
(
const
::
rtl
::
OUString
&
url
)
throw
(
::
com
::
sun
::
star
::
uno
::
RuntimeException
);
// XServiceInfo
virtual
::
rtl
::
OUString
SAL_CALL
getImplementationName
(
)
throw
(
::
com
::
sun
::
star
::
uno
::
RuntimeException
);
virtual
sal_Bool
SAL_CALL
supportsService
(
const
::
rtl
::
OUString
&
ServiceName
)
throw
(
::
com
::
sun
::
star
::
uno
::
RuntimeException
);
virtual
::
com
::
sun
::
star
::
uno
::
Sequence
<
::
rtl
::
OUString
>
SAL_CALL
getSupportedServiceNames
(
)
throw
(
::
com
::
sun
::
star
::
uno
::
RuntimeException
);
// XServiceInfo - static methods
static
::
com
::
sun
::
star
::
uno
::
Reference
<
::
com
::
sun
::
star
::
uno
::
XInterface
>
SAL_CALL
CreateInstance
(
const
::
com
::
sun
::
star
::
uno
::
Reference
<
::
com
::
sun
::
star
::
lang
::
XMultiServiceFactory
>&
);
static
::
rtl
::
OUString
SAL_CALL
getImplementationName_Static
(
)
throw
(
::
com
::
sun
::
star
::
uno
::
RuntimeException
);
static
::
com
::
sun
::
star
::
uno
::
Sequence
<
::
rtl
::
OUString
>
SAL_CALL
getSupportedServiceNames_Static
(
)
throw
(
::
com
::
sun
::
star
::
uno
::
RuntimeException
);
// XEventListener
virtual
void
SAL_CALL
disposing
(
const
::
com
::
sun
::
star
::
lang
::
EventObject
&
Source
)
throw
(
::
com
::
sun
::
star
::
uno
::
RuntimeException
);
void
invalidatePooledConnections
();
};
}
#endif _CONNECTIVITY_ZCONNECTIONPOOL_HXX_
connectivity/source/cpool/ZConnectionWrapper.cxx
0 → 100644
Dosyayı görüntüle @
ef8f40bc
This diff is collapsed.
Click to expand it.
connectivity/source/cpool/ZConnectionWrapper.hxx
0 → 100644
Dosyayı görüntüle @
ef8f40bc
/*************************************************************************
*
* $RCSfile: ZConnectionWrapper.hxx,v $
*
* $Revision: 1.1 $
*
* last change: $Author: oj $ $Date: 2001-04-26 09:12:29 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
*
* - GNU Lesser General Public License Version 2.1
* - Sun Industry Standards Source License Version 1.1
*
* Sun Microsystems Inc., October, 2000
*
* GNU Lesser General Public License Version 2.1
* =============================================
* Copyright 2000 by Sun Microsystems, Inc.
* 901 San Antonio Road, Palo Alto, CA 94303, USA
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License version 2.1, as published by the Free Software Foundation.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
* MA 02111-1307 USA
*
*
* Sun Industry Standards Source License Version 1.1
* =================================================
* The contents of this file are subject to the Sun Industry Standards
* Source License Version 1.1 (the License); You may not use this file
* except in compliance with the License. You may obtain a copy of the
* License at http://www.openoffice.org/license.html.
*
* Software provided under this License is provided on an AS IS basis,
* WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
* WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
* MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
* See the License for the specific provisions governing your rights and
* obligations concerning the Software.
*
* The Initial Developer of the Original Code is: Sun Microsystems, Inc.
*
* Copyright: 2000 by Sun Microsystems, Inc.
*
* All Rights Reserved.
*
* Contributor(s): _______________________________________
*
*
************************************************************************/
#ifndef _CONNECTIVITY_ZCONNECTIONWRAPPER_HXX_
#define _CONNECTIVITY_ZCONNECTIONWRAPPER_HXX_
#ifndef _CPPUHELPER_COMPBASE3_HXX_
#include <cppuhelper/compbase3.hxx>
#endif
#ifndef _COM_SUN_STAR_SDBC_XCONNECTION_HPP_
#include <com/sun/star/sdbc/XConnection.hpp>
#endif
#ifndef _COM_SUN_STAR_SDBC_XWARNINGSSUPPLIER_HPP_
#include <com/sun/star/sdbc/XWarningsSupplier.hpp>
#endif
#ifndef _COM_SUN_STAR_SDBC_SQLWARNING_HPP_
#include <com/sun/star/sdbc/SQLWarning.hpp>
#endif
#ifndef _COM_SUN_STAR_BEANS_PROPERTYVALUE_HPP_
#include <com/sun/star/beans/PropertyValue.hpp>
#endif
#ifndef _COM_SUN_STAR_LANG_XSERVICEINFO_HPP_
#include <com/sun/star/lang/XServiceInfo.hpp>
#endif
#ifndef _COMPHELPER_BROADCASTHELPER_HXX_
#include <comphelper/broadcasthelper.hxx>
#endif
#ifndef _CONNECTIVITY_COMMONTOOLS_HXX_
#include "connectivity/commontools.hxx"
#endif
namespace
connectivity
{
//==========================================================================
//= OConnectionWrapper - wraps all methods to the real connection from the driver
//= but when disposed it doesn't dispose the real connection
//==========================================================================
typedef
::
cppu
::
WeakComponentImplHelper3
<
::
com
::
sun
::
star
::
sdbc
::
XConnection
,
::
com
::
sun
::
star
::
sdbc
::
XWarningsSupplier
,
::
com
::
sun
::
star
::
lang
::
XServiceInfo
>
OConnection_BASE
;
class
OConnectionWrapper
:
public
::
comphelper
::
OBaseMutex
,
public
OConnection_BASE
{
protected
:
::
com
::
sun
::
star
::
uno
::
Reference
<
::
com
::
sun
::
star
::
sdbc
::
XConnection
>
m_xConnection
;
public
:
OConnectionWrapper
(
const
::
com
::
sun
::
star
::
uno
::
Reference
<
::
com
::
sun
::
star
::
sdbc
::
XConnection
>&
_xConnection
);
virtual
~
OConnectionWrapper
();
// OComponentHelper
virtual
void
SAL_CALL
disposing
(
void
);
// XServiceInfo
DECLARE_SERVICE_INFO
();
// XConnection
virtual
::
com
::
sun
::
star
::
uno
::
Reference
<
::
com
::
sun
::
star
::
sdbc
::
XStatement
>
SAL_CALL
createStatement
(
)
throw
(
::
com
::
sun
::
star
::
sdbc
::
SQLException
,
::
com
::
sun
::
star
::
uno
::
RuntimeException
);
virtual
::
com
::
sun
::
star
::
uno
::
Reference
<
::
com
::
sun
::
star
::
sdbc
::
XPreparedStatement
>
SAL_CALL
prepareStatement
(
const
::
rtl
::
OUString
&
sql
)
throw
(
::
com
::
sun
::
star
::
sdbc
::
SQLException
,
::
com
::
sun
::
star
::
uno
::
RuntimeException
);
virtual
::
com
::
sun
::
star
::
uno
::
Reference
<
::
com
::
sun
::
star
::
sdbc
::
XPreparedStatement
>
SAL_CALL
prepareCall
(
const
::
rtl
::
OUString
&
sql
)
throw
(
::
com
::
sun
::
star
::
sdbc
::
SQLException
,
::
com
::
sun
::
star
::
uno
::
RuntimeException
);
virtual
::
rtl
::
OUString
SAL_CALL
nativeSQL
(
const
::
rtl
::
OUString
&
sql
)
throw
(
::
com
::
sun
::
star
::
sdbc
::
SQLException
,
::
com
::
sun
::
star
::
uno
::
RuntimeException
);
virtual
void
SAL_CALL
setAutoCommit
(
sal_Bool
autoCommit
)
throw
(
::
com
::
sun
::
star
::
sdbc
::
SQLException
,
::
com
::
sun
::
star
::
uno
::
RuntimeException
);
virtual
sal_Bool
SAL_CALL
getAutoCommit
(
)
throw
(
::
com
::
sun
::
star
::
sdbc
::
SQLException
,
::
com
::
sun
::
star
::
uno
::
RuntimeException
);
virtual
void
SAL_CALL
commit
(
)
throw
(
::
com
::
sun
::
star
::
sdbc
::
SQLException
,
::
com
::
sun
::
star
::
uno
::
RuntimeException
);
virtual
void
SAL_CALL
rollback
(
)
throw
(
::
com
::
sun
::
star
::
sdbc
::
SQLException
,
::
com
::
sun
::
star
::
uno
::
RuntimeException
);
virtual
sal_Bool
SAL_CALL
isClosed
(
)
throw
(
::
com
::
sun
::
star
::
sdbc
::
SQLException
,
::
com
::
sun
::
star
::
uno
::
RuntimeException
);
virtual
::
com
::
sun
::
star
::
uno
::
Reference
<
::
com
::
sun
::
star
::
sdbc
::
XDatabaseMetaData
>
SAL_CALL
getMetaData
(
)
throw
(
::
com
::
sun
::
star
::
sdbc
::
SQLException
,
::
com
::
sun
::
star
::
uno
::
RuntimeException
);
virtual
void
SAL_CALL
setReadOnly
(
sal_Bool
readOnly
)
throw
(
::
com
::
sun
::
star
::
sdbc
::
SQLException
,
::
com
::
sun
::
star
::
uno
::
RuntimeException
);
virtual
sal_Bool
SAL_CALL
isReadOnly
(
)
throw
(
::
com
::
sun
::
star
::
sdbc
::
SQLException
,
::
com
::
sun
::
star
::
uno
::
RuntimeException
);
virtual
void
SAL_CALL
setCatalog
(
const
::
rtl
::
OUString
&
catalog
)
throw
(
::
com
::
sun
::
star
::
sdbc
::
SQLException
,
::
com
::
sun
::
star
::
uno
::
RuntimeException
);
virtual
::
rtl
::
OUString
SAL_CALL
getCatalog
(
)
throw
(
::
com
::
sun
::
star
::
sdbc
::
SQLException
,
::
com
::
sun
::
star
::
uno
::
RuntimeException
);
virtual
void
SAL_CALL
setTransactionIsolation
(
sal_Int32
level
)
throw
(
::
com
::
sun
::
star
::
sdbc
::
SQLException
,
::
com
::
sun
::
star
::
uno
::
RuntimeException
);
virtual
sal_Int32
SAL_CALL
getTransactionIsolation
(
)
throw
(
::
com
::
sun
::
star
::
sdbc
::
SQLException
,
::
com
::
sun
::
star
::
uno
::
RuntimeException
);
virtual
::
com
::
sun
::
star
::
uno
::
Reference
<
::
com
::
sun
::
star
::
container
::
XNameAccess
>
SAL_CALL
getTypeMap
(
)
throw
(
::
com
::
sun
::
star
::
sdbc
::
SQLException
,
::
com
::
sun
::
star
::
uno
::
RuntimeException
);
virtual
void
SAL_CALL
setTypeMap
(
const
::
com
::
sun
::
star
::
uno
::
Reference
<
::
com
::
sun
::
star
::
container
::
XNameAccess
>&
typeMap
)
throw
(
::
com
::
sun
::
star
::
sdbc
::
SQLException
,
::
com
::
sun
::
star
::
uno
::
RuntimeException
);
// XCloseable
virtual
void
SAL_CALL
close
(
)
throw
(
::
com
::
sun
::
star
::
sdbc
::
SQLException
,
::
com
::
sun
::
star
::
uno
::
RuntimeException
);
// XWarningsSupplier
virtual
::
com
::
sun
::
star
::
uno
::
Any
SAL_CALL
getWarnings
(
)
throw
(
::
com
::
sun
::
star
::
sdbc
::
SQLException
,
::
com
::
sun
::
star
::
uno
::
RuntimeException
);
virtual
void
SAL_CALL
clearWarnings
(
)
throw
(
::
com
::
sun
::
star
::
sdbc
::
SQLException
,
::
com
::
sun
::
star
::
uno
::
RuntimeException
);
};
}
#endif // _CONNECTIVITY_ZCONNECTIONWRAPPER_HXX_
connectivity/source/cpool/ZPooledConnection.cxx
0 → 100644
Dosyayı görüntüle @
ef8f40bc
/*************************************************************************
*
* $RCSfile: ZPooledConnection.cxx,v $
*
* $Revision: 1.1 $
*
* last change: $Author: oj $ $Date: 2001-04-26 09:11:50 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
*
* - GNU Lesser General Public License Version 2.1
* - Sun Industry Standards Source License Version 1.1
*
* Sun Microsystems Inc., October, 2000
*
* GNU Lesser General Public License Version 2.1
* =============================================
* Copyright 2000 by Sun Microsystems, Inc.
* 901 San Antonio Road, Palo Alto, CA 94303, USA
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License version 2.1, as published by the Free Software Foundation.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
* MA 02111-1307 USA
*
*
* Sun Industry Standards Source License Version 1.1
* =================================================
* The contents of this file are subject to the Sun Industry Standards
* Source License Version 1.1 (the License); You may not use this file
* except in compliance with the License. You may obtain a copy of the
* License at http://www.openoffice.org/license.html.
*
* Software provided under this License is provided on an AS IS basis,
* WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
* WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
* MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
* See the License for the specific provisions governing your rights and
* obligations concerning the Software.
*
* The Initial Developer of the Original Code is: Sun Microsystems, Inc.
*
* Copyright: 2000 by Sun Microsystems, Inc.
*
* All Rights Reserved.
*
* Contributor(s): _______________________________________
*
*
************************************************************************/
#ifndef CONNECTIVITY_POOLEDCONNECTION_HXX
#include "ZPooledConnection.hxx"
#endif
#ifndef _CONNECTIVITY_ZCONNECTIONWRAPPER_HXX_
#include "ZConnectionWrapper.hxx"
#endif
#ifndef _COMPHELPER_TYPES_HXX_
#include <comphelper/types.hxx>
#endif
using
namespace
::
com
::
sun
::
star
::
uno
;
using
namespace
::
com
::
sun
::
star
::
lang
;
using
namespace
::
com
::
sun
::
star
::
sdbc
;
using
namespace
::
com
::
sun
::
star
::
container
;
using
namespace
connectivity
;
using
namespace
::
osl
;
OPooledConnection
::
OPooledConnection
(
const
Reference
<
XConnection
>&
_xConnection
)
:
OPooledConnection_Base
(
m_aMutex
)
,
m_xRealConnection
(
_xConnection
)
{
}
// -----------------------------------------------------------------------------
// OComponentHelper
void
SAL_CALL
OPooledConnection
::
disposing
(
void
)
{
MutexGuard
aGuard
(
m_aMutex
);
Reference
<
XComponent
>
xComponent
(
m_xConnection
,
UNO_QUERY
);
if
(
xComponent
.
is
())
xComponent
->
removeEventListener
(
this
);
m_xConnection
=
NULL
;
::
comphelper
::
disposeComponent
(
m_xRealConnection
);
}
// -----------------------------------------------------------------------------
// XEventListener
void
SAL_CALL
OPooledConnection
::
disposing
(
const
EventObject
&
Source
)
throw
(
::
com
::
sun
::
star
::
uno
::
RuntimeException
)
{
m_xConnection
=
NULL
;
}
// -----------------------------------------------------------------------------
//XPooledConnection
Reference
<
XConnection
>
OPooledConnection
::
getConnection
()
throw
(
SQLException
,
::
com
::
sun
::
star
::
uno
::
RuntimeException
)
{
if
(
!
m_xConnection
.
is
())
{
m_xConnection
=
new
OConnectionWrapper
(
m_xRealConnection
);
// register as event listener for the new connection
Reference
<
XComponent
>
xComponent
(
m_xConnection
,
UNO_QUERY
);
if
(
xComponent
.
is
())
xComponent
->
addEventListener
(
this
);
}
return
m_xConnection
;
}
// -----------------------------------------------------------------------------
connectivity/source/cpool/Zregistration.cxx
0 → 100644
Dosyayı görüntüle @
ef8f40bc
/*************************************************************************
*
* $RCSfile: Zregistration.cxx,v $
*
* $Revision: 1.1 $
*
* last change: $Author: oj $ $Date: 2001-04-26 09:11:58 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
*
* - GNU Lesser General Public License Version 2.1
* - Sun Industry Standards Source License Version 1.1
*
* Sun Microsystems Inc., October, 2000
*
* GNU Lesser General Public License Version 2.1
* =============================================
* Copyright 2000 by Sun Microsystems, Inc.
* 901 San Antonio Road, Palo Alto, CA 94303, USA
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License version 2.1, as published by the Free Software Foundation.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
* MA 02111-1307 USA
*
*
* Sun Industry Standards Source License Version 1.1
* =================================================
* The contents of this file are subject to the Sun Industry Standards
* Source License Version 1.1 (the "License"); You may not use this file
* except in compliance with the License. You may obtain a copy of the
* License at http://www.openoffice.org/license.html.
*
* Software provided under this License is provided on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
* WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
* MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
* See the License for the specific provisions governing your rights and
* obligations concerning the Software.
*
* The Initial Developer of the Original Code is: Sun Microsystems, Inc.
*
* Copyright: 2000 by Sun Microsystems, Inc.
*
* All Rights Reserved.
*
* Contributor(s): _______________________________________
*
*
************************************************************************/
#include <stdio.h>
#ifndef _CPPUHELPER_FACTORY_HXX_
#include <cppuhelper/factory.hxx>
#endif
#ifndef _CONNECTIVITY_ZCONNECTIONPOOL_HXX_
#include "ZConnectionPool.hxx"
#endif
using
namespace
::
com
::
sun
::
star
::
uno
;
using
namespace
::
com
::
sun
::
star
::
lang
;
using
namespace
::
com
::
sun
::
star
::
registry
;
using
namespace
connectivity
;
//==========================================================================
//= registration
//==========================================================================
extern
"C"
{
//---------------------------------------------------------------------------------------
void
SAL_CALL
component_getImplementationEnvironment
(
const
sal_Char
**
_ppEnvTypeName
,
uno_Environment
**
_ppEnv
)
{
*
_ppEnvTypeName
=
CPPU_CURRENT_LANGUAGE_BINDING_NAME
;
}
//---------------------------------------------------------------------------------------
sal_Bool
SAL_CALL
component_writeInfo
(
void
*
_pServiceManager
,
com
::
sun
::
star
::
registry
::
XRegistryKey
*
_pRegistryKey
)
{
::
rtl
::
OUString
sMainKeyName
=
::
rtl
::
OUString
::
createFromAscii
(
"/"
);
sMainKeyName
+=
OConnectionPool
::
getImplementationName_Static
();
sMainKeyName
+=
::
rtl
::
OUString
::
createFromAscii
(
"/UNO/SERVICES"
);
try
{
Reference
<
XRegistryKey
>
xMainKey
=
_pRegistryKey
->
createKey
(
sMainKeyName
);
if
(
!
xMainKey
.
is
())
return
sal_False
;
Sequence
<
::
rtl
::
OUString
>
sServices
=
OConnectionPool
::
getSupportedServiceNames_Static
();
const
::
rtl
::
OUString
*
pServices
=
sServices
.
getConstArray
();
for
(
sal_Int32
i
=
0
;
i
<
sServices
.
getLength
();
++
i
,
++
pServices
)
xMainKey
->
createKey
(
*
pServices
);
}
catch
(
InvalidRegistryException
&
)
{
return
sal_False
;
}
catch
(
InvalidValueException
&
)
{
return
sal_False
;
}
return
sal_True
;
}
//---------------------------------------------------------------------------------------
void
*
SAL_CALL
component_getFactory
(
const
sal_Char
*
_pImplName
,
::
com
::
sun
::
star
::
lang
::
XMultiServiceFactory
*
_pServiceManager
,
void
*
/*_pRegistryKey*/
)
{
void
*
pRet
=
NULL
;
if
(
OConnectionPool
::
getImplementationName_Static
().
compareToAscii
(
_pImplName
)
==
0
)
{
Reference
<
XSingleServiceFactory
>
xFactory
(
::
cppu
::
createOneInstanceFactory
(
_pServiceManager
,
OConnectionPool
::
getImplementationName_Static
(),
OConnectionPool
::
CreateInstance
,
OConnectionPool
::
getSupportedServiceNames_Static
()
)
);
if
(
xFactory
.
is
())
{
xFactory
->
acquire
();
pRet
=
xFactory
.
get
();
}
}
return
pRet
;
}
}
// extern "C"
connectivity/source/cpool/dbpool.map
0 → 100644
Dosyayı görüntüle @
ef8f40bc
DBPOOL_1_0 {
global:
component_getImplementationEnvironment;
component_writeInfo;
component_getFactory;
local:
*;
};
connectivity/source/cpool/exports.dxp
0 → 100644
Dosyayı görüntüle @
ef8f40bc
component_getImplementationEnvironment
component_writeInfo
component_getFactory
connectivity/source/cpool/makefile.mk
0 → 100644
Dosyayı görüntüle @
ef8f40bc
#*************************************************************************
#
# $RCSfile: makefile.mk,v $
#
# $Revision: 1.1 $
#
# last change: $Author: oj $ $Date: 2001-04-26 09:12:05 $
#
# The Contents of this file are made available subject to the terms of
# either of the following licenses
#
# - GNU Lesser General Public License Version 2.1
# - Sun Industry Standards Source License Version 1.1
#
# Sun Microsystems Inc., October, 2000
#
# GNU Lesser General Public License Version 2.1
# =============================================
# Copyright 2000 by Sun Microsystems, Inc.
# 901 San Antonio Road, Palo Alto, CA 94303, USA
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License version 2.1, as published by the Free Software Foundation.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
# MA 02111-1307 USA
#
#
# Sun Industry Standards Source License Version 1.1
# =================================================
# The contents of this file are subject to the Sun Industry Standards
# Source License Version 1.1 (the "License"); You may not use this file
# except in compliance with the License. You may obtain a copy of the
# License at http://www.openoffice.org/license.html.
#
# Software provided under this License is provided on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
# WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
# MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
# See the License for the specific provisions governing your rights and
# obligations concerning the Software.
#
# The Initial Developer of the Original Code is: Sun Microsystems, Inc.
#
# Copyright: 2000 by Sun Microsystems, Inc.
#
# All Rights Reserved.
#
# Contributor(s): _______________________________________
#
#
#
#*************************************************************************
PRJ
=
..
$/
..
PRJINC
=
..
PRJNAME
=
connectivity
TARGET
=
dbpool
ENABLE_EXCEPTIONS
=
TRUE
# --- Settings ----------------------------------
.IF
"$(DBGUTIL_OJ)"
!=
""
ENVCFLAGS
+=
/FR
$(SLO)$/
.ENDIF
.INCLUDE
:
settings.mk
.INCLUDE
:
$(PRJ)$/version.mk
# --- Files -------------------------------------
SLOFILES
=
\
$(SLO)$/
ZConnectionWrapper.obj
\
$(SLO)$/
ZPooledConnection.obj
\
$(SLO)$/
ZConnectionPool.obj
\
$(SLO)$/
Zregistration.obj
# --- Library -----------------------------------
SHL1TARGET
=
$(DBPOOL_TARGET)$(DBPOOL_MAJOR)
.IF
"$(OS)"
==
"MACOSX"
#SHL1VERSIONMAP=$(TARGET).$(DLLPOSTFIX).map
.ELSE
SHL1VERSIONMAP
=
$(TARGET)
.map
.ENDIF
SHL1OBJS
=
$(SLOFILES)
SHL1STDLIBS
=
\
$(CPPULIB)
\
$(CPPUHELPERLIB)
\
$(VOSLIB)
\
$(OSLLIB)
\
$(COMPHELPERLIB)
\
$(SALLIB)
SHL1DEPN
=
SHL1IMPLIB
=
i
$(SHL1TARGET)
SHL1DEF
=
$(MISC)$/$(SHL1TARGET)
.def
DEF1NAME
=
$(SHL1TARGET)
DEF1EXPORTFILE
=
exports.dxp
# --- Targets ----------------------------------
.INCLUDE
:
target.mk
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment