summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sw/inc/dbmgr.hxx4
-rw-r--r--sw/source/core/doc/docfld.cxx4
-rw-r--r--sw/source/ui/dbui/dbmgr.cxx33
3 files changed, 20 insertions, 21 deletions
diff --git a/sw/inc/dbmgr.hxx b/sw/inc/dbmgr.hxx
index 313c34ebc055..34fc0ae557a8 100644
--- a/sw/inc/dbmgr.hxx
+++ b/sw/inc/dbmgr.hxx
@@ -39,6 +39,7 @@
#include <com/sun/star/uno/Sequence.hxx>
#include <com/sun/star/lang/Locale.hpp>
#include <com/sun/star/beans/PropertyValue.hpp>
+#include <boost/ptr_container/ptr_vector.hpp>
namespace com{namespace sun{namespace star{
namespace sdbc{
class XConnection;
@@ -144,8 +145,7 @@ struct SwDSParam : public SwDBData
bAfterSelection = sal_True;
}
};
-typedef SwDSParam* SwDSParamPtr;
-SV_DECL_PTRARR_DEL(SwDSParamArr, SwDSParamPtr, 0)
+typedef boost::ptr_vector<SwDSParam> SwDSParamArr;
struct SwMergeDescriptor
{
diff --git a/sw/source/core/doc/docfld.cxx b/sw/source/core/doc/docfld.cxx
index 78f7e87f3165..4d0aa7235eb8 100644
--- a/sw/source/core/doc/docfld.cxx
+++ b/sw/source/core/doc/docfld.cxx
@@ -1759,9 +1759,9 @@ void SwDoc::GetAllDBNames( std::vector<String>& rAllDBNames )
SwNewDBMgr* pMgr = GetNewDBMgr();
const SwDSParamArr& rArr = pMgr->GetDSParamArray();
- for(sal_uInt16 i = 0; i < rArr.Count(); i++)
+ for(sal_uInt16 i = 0; i < rArr.size(); i++)
{
- SwDSParam* pParam = rArr[i];
+ const SwDSParam* pParam = &rArr[i];
String* pStr = new String( pParam->sDataSource );
(*pStr) += DB_DELIM;
(*pStr) += (String)pParam->sCommand;
diff --git a/sw/source/ui/dbui/dbmgr.cxx b/sw/source/ui/dbui/dbmgr.cxx
index 30d9fa697828..eada5cc81b4d 100644
--- a/sw/source/ui/dbui/dbmgr.cxx
+++ b/sw/source/ui/dbui/dbmgr.cxx
@@ -152,7 +152,6 @@ using namespace ::com::sun::star::ui::dialogs;
#define DB_SEP_RETURN 2
#define DB_SEP_NEWLINE 3
-SV_IMPL_PTRARR(SwDSParamArr, SwDSParamPtr);
const sal_Char cCursor[] = "Cursor";
const sal_Char cCommand[] = "Command";
const sal_Char cCommandType[] = "CommandType";
@@ -367,7 +366,7 @@ sal_Bool SwNewDBMgr::MergeNew(const SwMergeDescriptor& rMergeDesc )
else
{
SwDSParam* pInsert = new SwDSParam(*pImpl->pMergeData);
- aDataSourceParams.Insert(pInsert, aDataSourceParams.Count());
+ aDataSourceParams.push_back(pInsert);
try
{
uno::Reference<XComponent> xComponent(pInsert->xConnection, UNO_QUERY);
@@ -730,9 +729,9 @@ SwNewDBMgr::SwNewDBMgr() :
SwNewDBMgr::~SwNewDBMgr()
{
- for(sal_uInt16 nPos = 0; nPos < aDataSourceParams.Count(); nPos++)
+ for(sal_uInt16 nPos = 0; nPos < aDataSourceParams.size(); nPos++)
{
- SwDSParam* pParam = aDataSourceParams[nPos];
+ SwDSParam* pParam = &aDataSourceParams[nPos];
if(pParam->xConnection.is())
{
try
@@ -2070,9 +2069,9 @@ void SwNewDBMgr::CloseAll(sal_Bool bIncludingMerge)
{
//the only thing done here is to reset the selection index
//all connections stay open
- for(sal_uInt16 nPos = 0; nPos < aDataSourceParams.Count(); nPos++)
+ for(sal_uInt16 nPos = 0; nPos < aDataSourceParams.size(); nPos++)
{
- SwDSParam* pParam = aDataSourceParams[nPos];
+ SwDSParam* pParam = &aDataSourceParams[nPos];
if(bIncludingMerge || pParam != pImpl->pMergeData)
{
pParam->nSelectionIndex = 0;
@@ -2101,9 +2100,9 @@ SwDSParam* SwNewDBMgr::FindDSData(const SwDBData& rData, sal_Bool bCreate)
}
SwDSParam* pFound = 0;
- for(sal_uInt16 nPos = aDataSourceParams.Count(); nPos; nPos--)
+ for(sal_uInt16 nPos = aDataSourceParams.size(); nPos; nPos--)
{
- SwDSParam* pParam = aDataSourceParams[nPos - 1];
+ SwDSParam* pParam = &aDataSourceParams[nPos - 1];
if(rData.sDataSource == pParam->sDataSource &&
rData.sCommand == pParam->sCommand &&
(rData.nCommandType == -1 || rData.nCommandType == pParam->nCommandType ||
@@ -2123,7 +2122,7 @@ SwDSParam* SwNewDBMgr::FindDSData(const SwDBData& rData, sal_Bool bCreate)
if(!pFound)
{
pFound = new SwDSParam(rData);
- aDataSourceParams.Insert(pFound, aDataSourceParams.Count());
+ aDataSourceParams.push_back(pFound);
try
{
uno::Reference<XComponent> xComponent(pFound->xConnection, UNO_QUERY);
@@ -2146,9 +2145,9 @@ SwDSParam* SwNewDBMgr::FindDSConnection(const rtl::OUString& rDataSource, sal_B
return pImpl->pMergeData;
}
SwDSParam* pFound = 0;
- for(sal_uInt16 nPos = 0; nPos < aDataSourceParams.Count(); nPos++)
+ for(sal_uInt16 nPos = 0; nPos < aDataSourceParams.size(); nPos++)
{
- SwDSParam* pParam = aDataSourceParams[nPos];
+ SwDSParam* pParam = &aDataSourceParams[nPos];
if(rDataSource == pParam->sDataSource)
{
pFound = pParam;
@@ -2160,7 +2159,7 @@ SwDSParam* SwNewDBMgr::FindDSConnection(const rtl::OUString& rDataSource, sal_B
SwDBData aData;
aData.sDataSource = rDataSource;
pFound = new SwDSParam(aData);
- aDataSourceParams.Insert(pFound, aDataSourceParams.Count());
+ aDataSourceParams.push_back(pFound);
try
{
uno::Reference<XComponent> xComponent(pFound->xConnection, UNO_QUERY);
@@ -2524,9 +2523,9 @@ void SwNewDBMgr::ExecuteFormLetter( SwWrtShell& rSh,
}
if(pFound)
{
- for(sal_uInt16 nPos = 0; nPos < aDataSourceParams.Count(); nPos++)
+ for(sal_uInt16 nPos = 0; nPos < aDataSourceParams.size(); nPos++)
{
- SwDSParam* pParam = aDataSourceParams[nPos];
+ SwDSParam* pParam = &aDataSourceParams[nPos];
if(pParam == pFound)
{
try
@@ -2968,13 +2967,13 @@ void SwConnectionDisposedListener_Impl::disposing( const EventObject& rSource )
{
::SolarMutexGuard aGuard;
uno::Reference<XConnection> xSource(rSource.Source, UNO_QUERY);
- for(sal_uInt16 nPos = rDBMgr.aDataSourceParams.Count(); nPos; nPos--)
+ for(sal_uInt16 nPos = rDBMgr.aDataSourceParams.size(); nPos; nPos--)
{
- SwDSParam* pParam = rDBMgr.aDataSourceParams[nPos - 1];
+ SwDSParam* pParam = &rDBMgr.aDataSourceParams[nPos - 1];
if(pParam->xConnection.is() &&
(xSource == pParam->xConnection))
{
- rDBMgr.aDataSourceParams.DeleteAndDestroy(nPos - 1);
+ rDBMgr.aDataSourceParams.erase(rDBMgr.aDataSourceParams.begin() + nPos - 1);
}
}
}