Kaydet (Commit) 9eb929aa authored tarafından Miklos Vajna's avatar Miklos Vajna

connectivity: turn on clang-format for the Writer driver

I (tried to) keep this consistent locally with astyle in the past,
switching to clang-format means consistency is enforced by CI.

Change-Id: I1016e253c6536b207a05328e5f6f13de37889588
Reviewed-on: https://gerrit.libreoffice.org/57046Reviewed-by: 's avatarMiklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Jenkins
üst 59fe3d7d
......@@ -34,21 +34,21 @@ namespace connectivity
{
namespace writer
{
OWriterCatalog::OWriterCatalog(OWriterConnection* pConnection) : file::OFileCatalog(pConnection)
OWriterCatalog::OWriterCatalog(OWriterConnection* pConnection)
: file::OFileCatalog(pConnection)
{
}
void OWriterCatalog::refreshTables()
{
::std::vector< OUString> aVector;
::std::vector<OUString> aVector;
uno::Sequence<OUString> aTypes;
OWriterConnection::ODocHolder aDocHolder(static_cast<OWriterConnection*>(m_pConnection));
uno::Reference< sdbc::XResultSet > xResult = m_xMetaData->getTables(uno::Any(), "%", "%", aTypes);
uno::Reference<sdbc::XResultSet> xResult = m_xMetaData->getTables(uno::Any(), "%", "%", aTypes);
if (xResult.is())
{
uno::Reference< sdbc::XRow > xRow(xResult, uno::UNO_QUERY);
uno::Reference<sdbc::XRow> xRow(xResult, uno::UNO_QUERY);
while (xResult->next())
aVector.push_back(xRow->getString(3));
}
......
......@@ -40,20 +40,22 @@ namespace connectivity
{
namespace writer
{
OWriterConnection::OWriterConnection(ODriver* _pDriver) : OConnection(_pDriver),m_nDocCount(0)
OWriterConnection::OWriterConnection(ODriver* _pDriver)
: OConnection(_pDriver)
, m_nDocCount(0)
{
}
OWriterConnection::~OWriterConnection() = default;
void OWriterConnection::construct(const OUString& rURL, const uno::Sequence< beans::PropertyValue >& rInfo)
void OWriterConnection::construct(const OUString& rURL,
const uno::Sequence<beans::PropertyValue>& rInfo)
{
// open file
sal_Int32 nLen = rURL.indexOf(':');
nLen = rURL.indexOf(':',nLen+1);
OUString aDSN(rURL.copy(nLen+1));
nLen = rURL.indexOf(':', nLen + 1);
OUString aDSN(rURL.copy(nLen + 1));
m_aFileName = aDSN;
INetURLObject aURL;
......@@ -104,18 +106,18 @@ uno::Reference<text::XTextDocument> const& OWriterConnection::acquireDoc()
if (!m_sPassword.isEmpty())
{
const sal_Int32 nPos = aArgs.getLength();
aArgs.realloc(nPos+1);
aArgs.realloc(nPos + 1);
aArgs[nPos].Name = "Password";
aArgs[nPos].Value <<= m_sPassword;
}
uno::Reference< frame::XDesktop2 > xDesktop = frame::Desktop::create(getDriver()->getComponentContext());
uno::Reference< lang::XComponent > xComponent;
uno::Reference<frame::XDesktop2> xDesktop
= frame::Desktop::create(getDriver()->getComponentContext());
uno::Reference<lang::XComponent> xComponent;
uno::Any aLoaderException;
try
{
xComponent = xDesktop->loadComponentFromURL(
m_aFileName, "_blank", 0, aArgs);
xComponent = xDesktop->loadComponentFromURL(m_aFileName, "_blank", 0, aArgs);
}
catch (const uno::Exception&)
{
......@@ -133,13 +135,13 @@ uno::Reference<text::XTextDocument> const& OWriterConnection::acquireDoc()
uno::Exception aLoaderError;
OSL_VERIFY(aLoaderException >>= aLoaderError);
SAL_WARN("connectivity.writer", "empty m_xDoc, exception type: " << aLoaderException.getValueTypeName() << ", error message: " << aLoaderError);
SAL_WARN("connectivity.writer",
"empty m_xDoc, exception type: " << aLoaderException.getValueTypeName()
<< ", error message: " << aLoaderError);
}
const OUString sError(m_aResources.getResourceStringWithSubstitution(
STR_COULD_NOT_LOAD_FILE,
"$filename$", m_aFileName
));
STR_COULD_NOT_LOAD_FILE, "$filename$", m_aFileName));
::dbtools::throwGenericSQLException(sError, *this);
}
osl_atomic_increment(&m_nDocCount);
......@@ -178,17 +180,15 @@ void OWriterConnection::disposing()
// XServiceInfo
IMPLEMENT_SERVICE_INFO(OWriterConnection, "com.sun.star.sdbc.drivers.writer.Connection",
"com.sun.star.sdbc.Connection")
IMPLEMENT_SERVICE_INFO(OWriterConnection, "com.sun.star.sdbc.drivers.writer.Connection", "com.sun.star.sdbc.Connection")
uno::Reference< sdbc::XDatabaseMetaData > SAL_CALL OWriterConnection::getMetaData()
uno::Reference<sdbc::XDatabaseMetaData> SAL_CALL OWriterConnection::getMetaData()
{
::osl::MutexGuard aGuard(m_aMutex);
checkDisposed(OConnection_BASE::rBHelper.bDisposed);
uno::Reference< sdbc::XDatabaseMetaData > xMetaData = m_xMetaData;
uno::Reference<sdbc::XDatabaseMetaData> xMetaData = m_xMetaData;
if (!xMetaData.is())
{
xMetaData = new OWriterDatabaseMetaData(this);
......@@ -198,11 +198,10 @@ uno::Reference< sdbc::XDatabaseMetaData > SAL_CALL OWriterConnection::getMetaDat
return xMetaData;
}
css::uno::Reference< css::sdbcx::XTablesSupplier > OWriterConnection::createCatalog()
css::uno::Reference<css::sdbcx::XTablesSupplier> OWriterConnection::createCatalog()
{
::osl::MutexGuard aGuard(m_aMutex);
uno::Reference< css::sdbcx::XTablesSupplier > xTab = m_xCatalog;
uno::Reference<css::sdbcx::XTablesSupplier> xTab = m_xCatalog;
if (!xTab.is())
{
auto pCat = new OWriterCatalog(this);
......@@ -212,8 +211,7 @@ css::uno::Reference< css::sdbcx::XTablesSupplier > OWriterConnection::createCata
return xTab;
}
uno::Reference< sdbc::XStatement > SAL_CALL OWriterConnection::createStatement()
uno::Reference<sdbc::XStatement> SAL_CALL OWriterConnection::createStatement()
{
::osl::MutexGuard aGuard(m_aMutex);
checkDisposed(OConnection_BASE::rBHelper.bDisposed);
......@@ -223,8 +221,8 @@ uno::Reference< sdbc::XStatement > SAL_CALL OWriterConnection::createStatement()
return xReturn;
}
uno::Reference< sdbc::XPreparedStatement > SAL_CALL OWriterConnection::prepareStatement(const OUString& sql)
uno::Reference<sdbc::XPreparedStatement>
SAL_CALL OWriterConnection::prepareStatement(const OUString& sql)
{
::osl::MutexGuard aGuard(m_aMutex);
checkDisposed(OConnection_BASE::rBHelper.bDisposed);
......@@ -236,8 +234,8 @@ uno::Reference< sdbc::XPreparedStatement > SAL_CALL OWriterConnection::prepareSt
return pStmt;
}
uno::Reference< sdbc::XPreparedStatement > SAL_CALL OWriterConnection::prepareCall(const OUString& /*sql*/)
uno::Reference<sdbc::XPreparedStatement>
SAL_CALL OWriterConnection::prepareCall(const OUString& /*sql*/)
{
::osl::MutexGuard aGuard(m_aMutex);
checkDisposed(OConnection_BASE::rBHelper.bDisposed);
......
......@@ -27,8 +27,8 @@ namespace connectivity
{
namespace writer
{
OWriterDatabaseMetaData::OWriterDatabaseMetaData(file::OConnection* pConnection) :OComponentDatabaseMetaData(pConnection)
OWriterDatabaseMetaData::OWriterDatabaseMetaData(file::OConnection* pConnection)
: OComponentDatabaseMetaData(pConnection)
{
}
......@@ -41,10 +41,9 @@ OUString SAL_CALL OWriterDatabaseMetaData::getURL()
return "sdbc:writer:" + m_pConnection->getURL();
}
uno::Reference<sdbc::XResultSet> SAL_CALL OWriterDatabaseMetaData::getTables(
const uno::Any& /*catalog*/, const OUString& /*schemaPattern*/,
const OUString& tableNamePattern, const uno::Sequence< OUString >& types)
const OUString& tableNamePattern, const uno::Sequence<OUString>& types)
{
::osl::MutexGuard aGuard(m_aMutex);
......@@ -89,12 +88,12 @@ uno::Reference<sdbc::XResultSet> SAL_CALL OWriterDatabaseMetaData::getTables(
ODatabaseMetaDataResultSet::ORows aRows;
sal_Int32 nTableCount = aTableNames.getLength();
for (sal_Int32 nTable=0; nTable<nTableCount; nTable++)
for (sal_Int32 nTable = 0; nTable < nTableCount; nTable++)
{
OUString aName = aTableNames[nTable];
if (match(tableNamePattern,aName,'\0'))
if (match(tableNamePattern, aName, '\0'))
{
ODatabaseMetaDataResultSet::ORow aRow { nullptr, nullptr, nullptr };
ODatabaseMetaDataResultSet::ORow aRow{ nullptr, nullptr, nullptr };
aRow.reserve(6);
aRow.push_back(new ORowSetValueDecorator(aName));
aRow.push_back(new ORowSetValueDecorator(aTable));
......
......@@ -32,37 +32,32 @@ namespace connectivity
{
namespace writer
{
OUString ODriver::getImplementationName_Static()
{
return OUString("com.sun.star.comp.sdbc.writer.ODriver");
}
OUString SAL_CALL ODriver::getImplementationName()
{
return getImplementationName_Static();
}
OUString SAL_CALL ODriver::getImplementationName() { return getImplementationName_Static(); }
uno::Reference< css::uno::XInterface >
ODriver_CreateInstance(const uno::Reference<
lang::XMultiServiceFactory >& _rxFactory)
uno::Reference<css::uno::XInterface>
ODriver_CreateInstance(const uno::Reference<lang::XMultiServiceFactory>& _rxFactory)
{
return *(new ODriver(comphelper::getComponentContext(_rxFactory)));
}
uno::Reference< sdbc::XConnection > SAL_CALL ODriver::connect(const OUString& url,
const uno::Sequence< beans::PropertyValue >& info)
uno::Reference<sdbc::XConnection>
SAL_CALL ODriver::connect(const OUString& url, const uno::Sequence<beans::PropertyValue>& info)
{
::osl::MutexGuard aGuard(m_aMutex);
if (ODriver_BASE::rBHelper.bDisposed)
throw lang::DisposedException();
if (! acceptsURL(url))
if (!acceptsURL(url))
return nullptr;
auto pCon = new OWriterConnection(this);
pCon->construct(url, info);
uno::Reference< sdbc::XConnection > xCon = pCon;
uno::Reference<sdbc::XConnection> xCon = pCon;
m_xConnections.push_back(uno::WeakReferenceHelper(*pCon));
return xCon;
......@@ -73,15 +68,16 @@ sal_Bool SAL_CALL ODriver::acceptsURL(const OUString& url)
return url.startsWith("sdbc:writer:");
}
uno::Sequence< sdbc::DriverPropertyInfo > SAL_CALL ODriver::getPropertyInfo(const OUString& url, const uno::Sequence< beans::PropertyValue >& /*info*/)
uno::Sequence<sdbc::DriverPropertyInfo> SAL_CALL
ODriver::getPropertyInfo(const OUString& url, const uno::Sequence<beans::PropertyValue>& /*info*/)
{
if (!acceptsURL(url))
{
SharedResources aResources;
const OUString sMessage = aResources.getResourceString(STR_URI_SYNTAX_ERROR);
::dbtools::throwGenericSQLException(sMessage,*this);
::dbtools::throwGenericSQLException(sMessage, *this);
}
return uno::Sequence< sdbc::DriverPropertyInfo >();
return uno::Sequence<sdbc::DriverPropertyInfo>();
}
} // namespace writer
......
......@@ -45,7 +45,8 @@ class XTextDocument;
using namespace ::com::sun::star;
static void lcl_GetDataArea(const uno::Reference<text::XTextTable>& xTable, sal_Int32& rColumnCount, sal_Int32& rRowCount)
static void lcl_GetDataArea(const uno::Reference<text::XTextTable>& xTable, sal_Int32& rColumnCount,
sal_Int32& rRowCount)
{
uno::Reference<container::XIndexAccess> xColumns(xTable->getColumns(), uno::UNO_QUERY);
if (xColumns.is())
......@@ -54,18 +55,18 @@ static void lcl_GetDataArea(const uno::Reference<text::XTextTable>& xTable, sal_
uno::Reference<container::XIndexAccess> xRows(xTable->getRows(), uno::UNO_QUERY);
if (xRows.is())
rRowCount = xRows->getCount() - 1; // first row (headers) is not counted
}
static void lcl_GetColumnInfo(const uno::Reference<text::XTextTable>& xTable,
sal_Int32 nDocColumn, bool bHasHeaders,
OUString& rName, sal_Int32& rDataType, bool& rCurrency)
static void lcl_GetColumnInfo(const uno::Reference<text::XTextTable>& xTable, sal_Int32 nDocColumn,
bool bHasHeaders, OUString& rName, sal_Int32& rDataType,
bool& rCurrency)
{
uno::Reference<table::XCellRange> xCellRange(xTable, uno::UNO_QUERY);
// get column name from first row, if range contains headers
if (bHasHeaders)
{
uno::Reference<text::XText> xHeaderText(xCellRange->getCellByPosition(nDocColumn, /*nStartRow*/0), uno::UNO_QUERY);
uno::Reference<text::XText> xHeaderText(
xCellRange->getCellByPosition(nDocColumn, /*nStartRow*/ 0), uno::UNO_QUERY);
if (xHeaderText.is())
rName = xHeaderText->getString();
}
......@@ -74,10 +75,9 @@ static void lcl_GetColumnInfo(const uno::Reference<text::XTextTable>& xTable,
rDataType = sdbc::DataType::VARCHAR;
}
static void lcl_SetValue(connectivity::ORowSetValue& rValue, const uno::Reference<text::XTextTable>& xTable,
sal_Int32 nStartCol, bool bHasHeaders,
sal_Int32 nDBRow, sal_Int32 nDBColumn)
static void lcl_SetValue(connectivity::ORowSetValue& rValue,
const uno::Reference<text::XTextTable>& xTable, sal_Int32 nStartCol,
bool bHasHeaders, sal_Int32 nDBRow, sal_Int32 nDBColumn)
{
sal_Int32 nDocColumn = nStartCol + nDBColumn - 1; // database counts from 1
sal_Int32 nDocRow = nDBRow - 1;
......@@ -92,7 +92,8 @@ static void lcl_SetValue(connectivity::ORowSetValue& rValue, const uno::Referenc
}
catch (const lang::IndexOutOfBoundsException& /*rException*/)
{
SAL_WARN("connectivity.writer", "getCellByPosition(" << nDocColumn << ", " << nDocRow << ") failed");
SAL_WARN("connectivity.writer",
"getCellByPosition(" << nDocColumn << ", " << nDocRow << ") failed");
rValue = OUString();
}
......@@ -108,15 +109,16 @@ namespace connectivity
{
namespace writer
{
void OWriterTable::fillColumns()
{
if (!m_xTable.is())
throw sdbc::SQLException();
OUString aTypeName;
::comphelper::UStringMixEqual aCase(m_pConnection->getMetaData()->supportsMixedCaseQuotedIdentifiers());
const bool bStoresMixedCaseQuotedIdentifiers = getConnection()->getMetaData()->supportsMixedCaseQuotedIdentifiers();
::comphelper::UStringMixEqual aCase(
m_pConnection->getMetaData()->supportsMixedCaseQuotedIdentifiers());
const bool bStoresMixedCaseQuotedIdentifiers
= getConnection()->getMetaData()->supportsMixedCaseQuotedIdentifiers();
for (sal_Int32 i = 0; i < m_nDataCols; i++)
{
......@@ -124,8 +126,7 @@ void OWriterTable::fillColumns()
sal_Int32 eType = sdbc::DataType::OTHER;
bool bCurrency = false;
lcl_GetColumnInfo(m_xTable, m_nStartCol + i, m_bHasHeaders,
aColumnName, eType, bCurrency);
lcl_GetColumnInfo(m_xTable, m_nStartCol + i, m_bHasHeaders, aColumnName, eType, bCurrency);
sal_Int32 nPrecision = 0; //! ...
sal_Int32 nDecimals = 0; //! ...
......@@ -157,20 +158,21 @@ void OWriterTable::fillColumns()
// check if the column name already exists
OUString aAlias = aColumnName;
auto aFind = connectivity::find(m_aColumns->get().begin(),m_aColumns->get().end(),aAlias,aCase);
auto aFind
= connectivity::find(m_aColumns->get().begin(), m_aColumns->get().end(), aAlias, aCase);
sal_Int32 nExprCnt = 0;
while (aFind != m_aColumns->get().end())
{
(aAlias = aColumnName) += OUString::number(++nExprCnt);
aFind = connectivity::find(m_aColumns->get().begin(),m_aColumns->get().end(),aAlias,aCase);
aFind = connectivity::find(m_aColumns->get().begin(), m_aColumns->get().end(), aAlias,
aCase);
}
sdbcx::OColumn* pColumn = new sdbcx::OColumn(aAlias, aTypeName, OUString(),OUString(),
sdbc::ColumnValue::NULLABLE, nPrecision, nDecimals,
eType, false, false, bCurrency,
bStoresMixedCaseQuotedIdentifiers,
sdbcx::OColumn* pColumn = new sdbcx::OColumn(
aAlias, aTypeName, OUString(), OUString(), sdbc::ColumnValue::NULLABLE, nPrecision,
nDecimals, eType, false, false, bCurrency, bStoresMixedCaseQuotedIdentifiers,
m_CatalogName, getSchema(), getName());
uno::Reference< XPropertySet> xCol = pColumn;
uno::Reference<XPropertySet> xCol = pColumn;
m_aColumns->get().push_back(xCol);
m_aTypes.push_back(eType);
m_aPrecisions.push_back(nPrecision);
......@@ -178,19 +180,14 @@ void OWriterTable::fillColumns()
}
}
OWriterTable::OWriterTable(sdbcx::OCollection* _pTables, OWriterConnection* _pConnection,
const OUString& Name,
const OUString& Type
) : OWriterTable_BASE(_pTables,_pConnection,Name,
Type,
OUString()/*Description*/,
OUString()/*SchemaName*/,
OUString()/*CatalogName*/)
,m_pWriterConnection(_pConnection)
,m_nStartCol(0)
,m_nDataCols(0)
,m_bHasHeaders(false)
const OUString& Name, const OUString& Type)
: OWriterTable_BASE(_pTables, _pConnection, Name, Type, OUString() /*Description*/,
OUString() /*SchemaName*/, OUString() /*CatalogName*/)
, m_pWriterConnection(_pConnection)
, m_nStartCol(0)
, m_nDataCols(0)
, m_bHasHeaders(false)
{
}
......@@ -229,25 +226,24 @@ void SAL_CALL OWriterTable::disposing()
if (m_pWriterConnection)
m_pWriterConnection->releaseDoc();
m_pWriterConnection = nullptr;
}
uno::Sequence< sal_Int8 > OWriterTable::getUnoTunnelImplementationId()
uno::Sequence<sal_Int8> OWriterTable::getUnoTunnelImplementationId()
{
static ::cppu::OImplementationId implId;
return implId.getImplementationId();
}
sal_Int64 OWriterTable::getSomething(const uno::Sequence< sal_Int8 >& rId)
sal_Int64 OWriterTable::getSomething(const uno::Sequence<sal_Int8>& rId)
{
return (rId.getLength() == 16 && 0 == memcmp(getUnoTunnelImplementationId().getConstArray(), rId.getConstArray(), 16))
? reinterpret_cast< sal_Int64 >(this)
return (rId.getLength() == 16
&& 0 == memcmp(getUnoTunnelImplementationId().getConstArray(), rId.getConstArray(), 16))
? reinterpret_cast<sal_Int64>(this)
: OWriterTable_BASE::getSomething(rId);
}
bool OWriterTable::fetchRow(OValueRefRow& _rRow, const OSQLColumns& _rCols,
bool bRetrieveData)
bool OWriterTable::fetchRow(OValueRefRow& _rRow, const OSQLColumns& _rCols, bool bRetrieveData)
{
// read the bookmark
......@@ -262,13 +258,12 @@ bool OWriterTable::fetchRow(OValueRefRow& _rRow, const OSQLColumns& _rCols,
auto aIter = _rCols.get().begin();
auto aEnd = _rCols.get().end();
const OValueRefVector::Vector::size_type nCount = _rRow->get().size();
for (OValueRefVector::Vector::size_type i = 1; aIter != aEnd && i < nCount;
++aIter, i++)
for (OValueRefVector::Vector::size_type i = 1; aIter != aEnd && i < nCount; ++aIter, i++)
{
if ((_rRow->get())[i]->isBound())
{
lcl_SetValue((_rRow->get())[i]->get(), m_xTable, m_nStartCol, m_bHasHeaders,
m_nFilePos, i);
lcl_SetValue((_rRow->get())[i]->get(), m_xTable, m_nStartCol, m_bHasHeaders, m_nFilePos,
i);
}
}
return true;
......
......@@ -31,10 +31,13 @@ namespace connectivity
{
namespace writer
{
sdbcx::ObjectType OWriterTables::createObject(const OUString& rName)
{
OWriterTable* pTable = new OWriterTable(this, static_cast<OWriterConnection*>(static_cast<file::OFileCatalog&>(m_rParent).getConnection()), rName, "TABLE");
OWriterTable* pTable
= new OWriterTable(this,
static_cast<OWriterConnection*>(
static_cast<file::OFileCatalog&>(m_rParent).getConnection()),
rName, "TABLE");
sdbcx::ObjectType xRet = pTable;
pTable->construct();
return xRet;
......
......@@ -22,43 +22,31 @@
using namespace com::sun::star;
using createFactoryFunc = uno::Reference<lang::XSingleServiceFactory> (*)
(
const uno::Reference< lang::XMultiServiceFactory >& rServiceManager,
const OUString& rComponentName,
::cppu::ComponentInstantiation pCreateFunction,
const uno::Sequence< OUString >& rServiceNames,
rtl_ModuleCount*
);
using createFactoryFunc = uno::Reference<lang::XSingleServiceFactory> (*)(
const uno::Reference<lang::XMultiServiceFactory>& rServiceManager,
const OUString& rComponentName, ::cppu::ComponentInstantiation pCreateFunction,
const uno::Sequence<OUString>& rServiceNames, rtl_ModuleCount*);
struct ProviderRequest
{
uno::Reference< lang::XSingleServiceFactory > xRet;
uno::Reference< lang::XMultiServiceFactory > const xServiceManager;
uno::Reference<lang::XSingleServiceFactory> xRet;
uno::Reference<lang::XMultiServiceFactory> const xServiceManager;
OUString const sImplementationName;
ProviderRequest(
void* pServiceManager,
sal_Char const* pImplementationName
)
ProviderRequest(void* pServiceManager, sal_Char const* pImplementationName)
: xServiceManager(static_cast<lang::XMultiServiceFactory*>(pServiceManager))
, sImplementationName(OUString::createFromAscii(pImplementationName))
{
}
bool CREATE_PROVIDER(
const OUString& Implname,
const uno::Sequence< OUString >& Services,
::cppu::ComponentInstantiation Factory,
createFactoryFunc creator
)
bool CREATE_PROVIDER(const OUString& Implname, const uno::Sequence<OUString>& Services,
::cppu::ComponentInstantiation Factory, createFactoryFunc creator)
{
if (!xRet.is() && (Implname == sImplementationName))
{
try
{
xRet = creator(xServiceManager, sImplementationName,Factory, Services,nullptr);
xRet = creator(xServiceManager, sImplementationName, Factory, Services, nullptr);
}
catch (...)
{
......@@ -67,28 +55,22 @@ struct ProviderRequest
return xRet.is();
}
void* getProvider() const
{
return xRet.get();
}
void* getProvider() const { return xRet.get(); }
};
extern "C" SAL_DLLPUBLIC_EXPORT void* connectivity_writer_component_getFactory(
const sal_Char* pImplementationName,
void* pServiceManager,
extern "C" SAL_DLLPUBLIC_EXPORT void*
connectivity_writer_component_getFactory(const sal_Char* pImplementationName, void* pServiceManager,
void* /*pRegistryKey*/)
{
void* pRet = nullptr;
if (pServiceManager)
{
ProviderRequest aReq(pServiceManager,pImplementationName);
ProviderRequest aReq(pServiceManager, pImplementationName);
aReq.CREATE_PROVIDER(
connectivity::writer::ODriver::getImplementationName_Static(),
aReq.CREATE_PROVIDER(connectivity::writer::ODriver::getImplementationName_Static(),
connectivity::writer::ODriver::getSupportedServiceNames_Static(),
connectivity::writer::ODriver_CreateInstance, ::cppu::createSingleFactory)
;
connectivity::writer::ODriver_CreateInstance,
::cppu::createSingleFactory);
if (aReq.xRet.is())
aReq.xRet->acquire();
......
......@@ -26,7 +26,6 @@ namespace connectivity
{
namespace writer
{
class OWriterConnection;
class OWriterCatalog : public file::OFileCatalog
{
......
......@@ -46,7 +46,6 @@ namespace utl
class CloseVeto;
}
namespace connectivity
{
namespace writer
......@@ -55,12 +54,13 @@ class ODriver;
class OWriterConnection : public file::OConnection
{
// the spreadsheet document:
css::uno::Reference< css::text::XTextDocument > m_xDoc;
css::uno::Reference<css::text::XTextDocument> m_xDoc;
OUString m_sPassword;
OUString m_aFileName;
oslInterlockedCount m_nDocCount;
class CloseVetoButTerminateListener : public cppu::WeakComponentImplHelper<css::frame::XTerminateListener>
class CloseVetoButTerminateListener
: public cppu::WeakComponentImplHelper<css::frame::XTerminateListener>
{
private:
/// close listener that vetoes so nobody else disposes m_xDoc
......@@ -69,6 +69,7 @@ class OWriterConnection : public file::OConnection
/// its still possible to do so properly
css::uno::Reference<css::frame::XDesktop2> m_xDesktop;
osl::Mutex m_aMutex;
public:
CloseVetoButTerminateListener()
: cppu::WeakComponentImplHelper<css::frame::XTerminateListener>(m_aMutex)
......@@ -93,9 +94,7 @@ class OWriterConnection : public file::OConnection
}
// XTerminateListener
void SAL_CALL queryTermination(const css::lang::EventObject& /*rEvent*/) override
{
}
void SAL_CALL queryTermination(const css::lang::EventObject& /*rEvent*/) override {}
void SAL_CALL notifyTermination(const css::lang::EventObject& /*rEvent*/) override
{
......@@ -123,7 +122,7 @@ public:
~OWriterConnection() override;
void construct(const OUString& rURL,
const css::uno::Sequence< css::beans::PropertyValue >& rInfo) override;
const css::uno::Sequence<css::beans::PropertyValue>& rInfo) override;
// XServiceInfo
DECLARE_SERVICE_INFO();
......@@ -132,22 +131,26 @@ public:
void SAL_CALL disposing() override;
// XConnection
css::uno::Reference< css::sdbc::XDatabaseMetaData > SAL_CALL getMetaData() override;
css::uno::Reference< css::sdbcx::XTablesSupplier > createCatalog() override;
css::uno::Reference< css::sdbc::XStatement > SAL_CALL createStatement() override;
css::uno::Reference< css::sdbc::XPreparedStatement > SAL_CALL prepareStatement(const OUString& sql) override;
css::uno::Reference< css::sdbc::XPreparedStatement > SAL_CALL prepareCall(const OUString& sql) override;
css::uno::Reference<css::sdbc::XDatabaseMetaData> SAL_CALL getMetaData() override;
css::uno::Reference<css::sdbcx::XTablesSupplier> createCatalog() override;
css::uno::Reference<css::sdbc::XStatement> SAL_CALL createStatement() override;
css::uno::Reference<css::sdbc::XPreparedStatement>
SAL_CALL prepareStatement(const OUString& sql) override;
css::uno::Reference<css::sdbc::XPreparedStatement>
SAL_CALL prepareCall(const OUString& sql) override;
// no interface methods
css::uno::Reference< css::text::XTextDocument> const& acquireDoc();
css::uno::Reference<css::text::XTextDocument> const& acquireDoc();
void releaseDoc();
class ODocHolder
{
OWriterConnection* m_pConnection;
css::uno::Reference< css::text::XTextDocument> m_xDoc;
css::uno::Reference<css::text::XTextDocument> m_xDoc;
public:
ODocHolder(OWriterConnection* _pConnection) : m_pConnection(_pConnection)
ODocHolder(OWriterConnection* _pConnection)
: m_pConnection(_pConnection)
{
m_xDoc = m_pConnection->acquireDoc();
}
......@@ -156,10 +159,7 @@ public:
m_xDoc.clear();
m_pConnection->releaseDoc();
}
const css::uno::Reference< css::text::XTextDocument>& getDoc() const
{
return m_xDoc;
}
const css::uno::Reference<css::text::XTextDocument>& getDoc() const { return m_xDoc; }
};
};
}
......
......@@ -26,13 +26,17 @@ namespace connectivity
{
namespace writer
{
class OWriterDatabaseMetaData : public component::OComponentDatabaseMetaData
{
OUString SAL_CALL getURL() override;
css::uno::Reference< css::sdbc::XResultSet > SAL_CALL getTables(const css::uno::Any& catalog, const OUString& schemaPattern, const OUString& tableNamePattern, const css::uno::Sequence< OUString >& types) override;
css::uno::Reference<css::sdbc::XResultSet>
SAL_CALL getTables(const css::uno::Any& catalog, const OUString& schemaPattern,
const OUString& tableNamePattern,
const css::uno::Sequence<OUString>& types) override;
protected:
~OWriterDatabaseMetaData() override;
public:
OWriterDatabaseMetaData(file::OConnection* pConnection);
};
......
......@@ -41,26 +41,28 @@ namespace connectivity
namespace writer
{
/// @throws css::uno::Exception
css::uno::Reference< css::uno::XInterface >
ODriver_CreateInstance(const css::uno::Reference< css::lang::XMultiServiceFactory >& _rxFactory);
css::uno::Reference<css::uno::XInterface>
ODriver_CreateInstance(const css::uno::Reference<css::lang::XMultiServiceFactory>& _rxFactory);
class ODriver : public file::OFileDriver
{
public:
ODriver(const css::uno::Reference<
css::uno::XComponentContext >& _rxContext) :
file::OFileDriver(_rxContext) {}
ODriver(const css::uno::Reference<css::uno::XComponentContext>& _rxContext)
: file::OFileDriver(_rxContext)
{
}
/// @throws css::uno::RuntimeException
static OUString getImplementationName_Static();
OUString SAL_CALL getImplementationName() override;
// XDriver
css::uno::Reference< css::sdbc::XConnection > SAL_CALL
connect(const OUString& url, const css::uno::Sequence<
css::beans::PropertyValue >& info) override;
css::uno::Reference<css::sdbc::XConnection>
SAL_CALL connect(const OUString& url,
const css::uno::Sequence<css::beans::PropertyValue>& info) override;
sal_Bool SAL_CALL acceptsURL(const OUString& url) override;
css::uno::Sequence< css::sdbc::DriverPropertyInfo > SAL_CALL getPropertyInfo(const OUString& url, const css::uno::Sequence< css::beans::PropertyValue >& info) override;
css::uno::Sequence<css::sdbc::DriverPropertyInfo> SAL_CALL getPropertyInfo(
const OUString& url, const css::uno::Sequence<css::beans::PropertyValue>& info) override;
};
}
}
......
......@@ -50,7 +50,6 @@ class XNumberFormats;
}
}
namespace connectivity
{
namespace writer
......@@ -61,31 +60,30 @@ class OWriterConnection;
class OWriterTable : public OWriterTable_BASE
{
private:
std::vector<sal_Int32> m_aTypes; // holds all type for columns just to avoid to ask the propertyset
std::vector<sal_Int32>
m_aTypes; // holds all type for columns just to avoid to ask the propertyset
std::vector<sal_Int32> m_aPrecisions; // same as aboth
std::vector<sal_Int32> m_aScales;
css::uno::Reference< css::text::XTextTable > m_xTable;
css::uno::Reference<css::text::XTextTable> m_xTable;
OWriterConnection* m_pWriterConnection;
sal_Int32 m_nStartCol;
sal_Int32 m_nDataCols;
bool m_bHasHeaders;
css::uno::Reference< css::util::XNumberFormats > m_xFormats;
css::uno::Reference<css::util::XNumberFormats> m_xFormats;
void fillColumns();
public:
OWriterTable(sdbcx::OCollection* _pTables, OWriterConnection* _pConnection,
const OUString& Name,
const OUString& Type
);
const OUString& Name, const OUString& Type);
bool fetchRow(OValueRefRow& _rRow, const OSQLColumns& _rCols, bool bRetrieveData) override;
void SAL_CALL disposing() override;
// css::lang::XUnoTunnel
sal_Int64 SAL_CALL getSomething(const css::uno::Sequence< sal_Int8 >& rId) override;
static css::uno::Sequence< sal_Int8 > getUnoTunnelImplementationId();
sal_Int64 SAL_CALL getSomething(const css::uno::Sequence<sal_Int8>& rId) override;
static css::uno::Sequence<sal_Int8> getUnoTunnelImplementationId();
void construct() override;
};
......
......@@ -32,10 +32,14 @@ class OWriterTables : public OWriterTables_BASE
{
protected:
sdbcx::ObjectType createObject(const OUString& rName) override;
public:
OWriterTables(const css::uno::Reference<css::sdbc::XDatabaseMetaData>& _rMetaData,::cppu::OWeakObject& _rParent, ::osl::Mutex& _rMutex,
const ::std::vector< OUString>& _rVector) : OWriterTables_BASE(_rMetaData,_rParent,_rMutex,_rVector)
{}
OWriterTables(const css::uno::Reference<css::sdbc::XDatabaseMetaData>& _rMetaData,
::cppu::OWeakObject& _rParent, ::osl::Mutex& _rMutex,
const ::std::vector<OUString>& _rVector)
: OWriterTables_BASE(_rMetaData, _rParent, _rMutex, _rVector)
{
}
};
}
}
......
......@@ -2412,13 +2412,6 @@ connectivity/source/drivers/postgresql/pq_xview.cxx
connectivity/source/drivers/postgresql/pq_xview.hxx
connectivity/source/drivers/postgresql/pq_xviews.cxx
connectivity/source/drivers/postgresql/pq_xviews.hxx
connectivity/source/drivers/writer/WCatalog.cxx
connectivity/source/drivers/writer/WConnection.cxx
connectivity/source/drivers/writer/WDatabaseMetaData.cxx
connectivity/source/drivers/writer/WDriver.cxx
connectivity/source/drivers/writer/WTable.cxx
connectivity/source/drivers/writer/WTables.cxx
connectivity/source/drivers/writer/Wservices.cxx
connectivity/source/inc/AutoRetrievingBase.hxx
connectivity/source/inc/FDatabaseMetaDataResultSet.hxx
connectivity/source/inc/FDatabaseMetaDataResultSetMetaData.hxx
......@@ -2592,12 +2585,6 @@ connectivity/source/inc/odbc/OTools.hxx
connectivity/source/inc/odbc/odbcbasedllapi.hxx
connectivity/source/inc/propertyids.hxx
connectivity/source/inc/resource/sharedresources.hxx
connectivity/source/inc/writer/WCatalog.hxx
connectivity/source/inc/writer/WConnection.hxx
connectivity/source/inc/writer/WDatabaseMetaData.hxx
connectivity/source/inc/writer/WDriver.hxx
connectivity/source/inc/writer/WTable.hxx
connectivity/source/inc/writer/WTables.hxx
connectivity/source/manager/mdrivermanager.cxx
connectivity/source/manager/mdrivermanager.hxx
connectivity/source/manager/mregistration.cxx
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment