connectivity/source/drivers/calc/CConnection.cxx        |    4 ++--
 connectivity/source/drivers/dbase/DConnection.cxx       |    4 ++--
 connectivity/source/drivers/file/FConnection.cxx        |    6 +++---
 connectivity/source/drivers/file/FPreparedStatement.cxx |    2 +-
 connectivity/source/drivers/file/FStatement.cxx         |   10 ++++------
 connectivity/source/drivers/flat/EConnection.cxx        |    4 ++--
 connectivity/source/drivers/writer/WConnection.cxx      |    4 ++--
 connectivity/source/inc/file/FConnection.hxx            |    5 ++++-
 connectivity/source/inc/file/FStatement.hxx             |    3 ++-
 9 files changed, 22 insertions(+), 20 deletions(-)

New commits:
commit 84725adbdc3419b78fad567b59456fdb80db3a93
Author:     Noel Grandin <[email protected]>
AuthorDate: Mon Sep 30 15:45:44 2024 +0200
Commit:     Noel Grandin <[email protected]>
CommitDate: Mon Sep 30 18:25:01 2024 +0200

    use more concrete UNO type in file::OConnection
    
    Change-Id: I6fe51ae569430d8f31217d7781b3e98e79e1c607
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174283
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <[email protected]>

diff --git a/connectivity/source/drivers/calc/CConnection.cxx 
b/connectivity/source/drivers/calc/CConnection.cxx
index 7cb543d5d9e2..d1ae21a38e07 100644
--- a/connectivity/source/drivers/calc/CConnection.cxx
+++ b/connectivity/source/drivers/calc/CConnection.cxx
@@ -213,11 +213,11 @@ Reference< XDatabaseMetaData > SAL_CALL 
OCalcConnection::getMetaData(  )
 css::uno::Reference< XTablesSupplier > OCalcConnection::createCatalog()
 {
     ::osl::MutexGuard aGuard( m_aMutex );
-    Reference< XTablesSupplier > xTab = m_xCatalog;
+    rtl::Reference< connectivity::sdbcx::OCatalog > xTab = m_xCatalog;
     if(!xTab.is())
     {
         xTab = new OCalcCatalog(this);
-        m_xCatalog = xTab;
+        m_xCatalog = xTab.get();
     }
     return xTab;
 }
diff --git a/connectivity/source/drivers/dbase/DConnection.cxx 
b/connectivity/source/drivers/dbase/DConnection.cxx
index 696f7dd3d53c..ab97a3aeeaa0 100644
--- a/connectivity/source/drivers/dbase/DConnection.cxx
+++ b/connectivity/source/drivers/dbase/DConnection.cxx
@@ -69,11 +69,11 @@ Reference< XDatabaseMetaData > SAL_CALL 
ODbaseConnection::getMetaData(  )
 css::uno::Reference< XTablesSupplier > ODbaseConnection::createCatalog()
 {
     ::osl::MutexGuard aGuard( m_aMutex );
-    Reference< XTablesSupplier > xTab = m_xCatalog;
+    rtl::Reference< connectivity::sdbcx::OCatalog > xTab = m_xCatalog;
     if(!xTab.is())
     {
         xTab = new ODbaseCatalog(this);
-        m_xCatalog = xTab;
+        m_xCatalog = xTab.get();
     }
     return xTab;
 }
diff --git a/connectivity/source/drivers/file/FConnection.cxx 
b/connectivity/source/drivers/file/FConnection.cxx
index d1635906e24a..cc55b54ba8e7 100644
--- a/connectivity/source/drivers/file/FConnection.cxx
+++ b/connectivity/source/drivers/file/FConnection.cxx
@@ -368,17 +368,17 @@ void OConnection::disposing()
 
     m_xDir.clear();
     m_xContent.clear();
-    m_xCatalog  = WeakReference< XTablesSupplier>();
+    m_xCatalog.clear();
 }
 
 Reference< XTablesSupplier > OConnection::createCatalog()
 {
     ::osl::MutexGuard aGuard( m_aMutex );
-    Reference< XTablesSupplier > xTab = m_xCatalog;
+    rtl::Reference< connectivity::sdbcx::OCatalog > xTab = m_xCatalog.get();
     if(!xTab.is())
     {
         xTab = new OFileCatalog(this);
-        m_xCatalog = xTab;
+        m_xCatalog = xTab.get();
     }
     return xTab;
 }
diff --git a/connectivity/source/drivers/flat/EConnection.cxx 
b/connectivity/source/drivers/flat/EConnection.cxx
index 1529e5baaddb..3f199cdfc4f0 100644
--- a/connectivity/source/drivers/flat/EConnection.cxx
+++ b/connectivity/source/drivers/flat/EConnection.cxx
@@ -132,11 +132,11 @@ Reference< XDatabaseMetaData > SAL_CALL 
OFlatConnection::getMetaData(  )
 css::uno::Reference< XTablesSupplier > OFlatConnection::createCatalog()
 {
     ::osl::MutexGuard aGuard( m_aMutex );
-    Reference< XTablesSupplier > xTab = m_xCatalog;
+    rtl::Reference< connectivity::sdbcx::OCatalog > xTab = m_xCatalog;
     if(!xTab.is())
     {
         xTab = new OFlatCatalog(this);
-        m_xCatalog = xTab;
+        m_xCatalog = xTab.get();
     }
     return xTab;
 }
diff --git a/connectivity/source/drivers/writer/WConnection.cxx 
b/connectivity/source/drivers/writer/WConnection.cxx
index 9f59541c0125..0f23b315beca 100644
--- a/connectivity/source/drivers/writer/WConnection.cxx
+++ b/connectivity/source/drivers/writer/WConnection.cxx
@@ -198,11 +198,11 @@ uno::Reference<sdbc::XDatabaseMetaData> SAL_CALL 
OWriterConnection::getMetaData(
 css::uno::Reference<css::sdbcx::XTablesSupplier> 
OWriterConnection::createCatalog()
 {
     ::osl::MutexGuard aGuard(m_aMutex);
-    uno::Reference<css::sdbcx::XTablesSupplier> xTab = m_xCatalog;
+    rtl::Reference<connectivity::sdbcx::OCatalog> xTab = m_xCatalog;
     if (!xTab.is())
     {
         xTab = new OWriterCatalog(this);
-        m_xCatalog = xTab;
+        m_xCatalog = xTab.get();
     }
     return xTab;
 }
diff --git a/connectivity/source/inc/file/FConnection.hxx 
b/connectivity/source/inc/file/FConnection.hxx
index e6412992ab77..344445e9d322 100644
--- a/connectivity/source/inc/file/FConnection.hxx
+++ b/connectivity/source/inc/file/FConnection.hxx
@@ -26,6 +26,9 @@
 #include <com/sun/star/ucb/XDynamicResultSet.hpp>
 #include <TConnection.hxx>
 #include <file/filedllapi.hxx>
+#include <unotools/weakref.hxx>
+
+namespace connectivity::sdbcx { class OCatalog; }
 
 namespace connectivity::file
     {
@@ -38,7 +41,7 @@ namespace connectivity::file
 
             // Data attributes
 
-            css::uno::WeakReference< css::sdbcx::XTablesSupplier>         
m_xCatalog;
+            unotools::WeakReference< ::connectivity::sdbcx::OCatalog >         
m_xCatalog;
 
             OUString                    m_aFilenameExtension;
             OFileDriver*                m_pDriver;      //  Pointer to the 
owning
commit c69ea1dd5a993c23d5be6a0ec40a7cac15fb2ecc
Author:     Noel Grandin <[email protected]>
AuthorDate: Mon Sep 30 15:39:36 2024 +0200
Commit:     Noel Grandin <[email protected]>
CommitDate: Mon Sep 30 18:24:52 2024 +0200

    use more concrete UNO type in file::OStatement_Base
    
    Change-Id: I9ce6ed7768e8c79e6105152f3907a5468e8fb828
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174282
    Reviewed-by: Noel Grandin <[email protected]>
    Tested-by: Jenkins

diff --git a/connectivity/source/drivers/file/FPreparedStatement.cxx 
b/connectivity/source/drivers/file/FPreparedStatement.cxx
index 5139eba871cd..5a3f09adb920 100644
--- a/connectivity/source/drivers/file/FPreparedStatement.cxx
+++ b/connectivity/source/drivers/file/FPreparedStatement.cxx
@@ -101,7 +101,7 @@ rtl::Reference<OResultSet> 
OPreparedStatement::makeResultSet()
     closeResultSet();
 
     rtl::Reference<OResultSet> xResultSet(createResultSet());
-    m_xResultSet = uno::Reference<uno::XWeak>(xResultSet);
+    m_xResultSet = xResultSet.get();
     initializeResultSet(xResultSet.get());
     initResultSet(xResultSet.get());
     return xResultSet;
diff --git a/connectivity/source/drivers/file/FStatement.cxx 
b/connectivity/source/drivers/file/FStatement.cxx
index 9fdafb171e42..a2be8e7695cd 100644
--- a/connectivity/source/drivers/file/FStatement.cxx
+++ b/connectivity/source/drivers/file/FStatement.cxx
@@ -93,7 +93,7 @@ void OStatement_Base::disposeResultSet()
 {
     SAL_INFO( "connectivity.drivers", "file [email protected] 
OStatement_Base::disposeResultSet" );
     // free the cursor if alive
-    Reference< XComponent > xComp(m_xResultSet.get(), UNO_QUERY);
+    rtl::Reference< OResultSet > xComp(m_xResultSet.get());
     assert(xComp.is() || !m_xResultSet.get().is());
     if (xComp.is())
         xComp->dispose();
@@ -175,7 +175,7 @@ void OStatement_Base::closeResultSet()
     ::osl::MutexGuard aGuard( m_aMutex );
     checkDisposed(OStatement_BASE::rBHelper.bDisposed);
 
-    Reference< XCloseable > xCloseable(m_xResultSet.get(), UNO_QUERY);
+    rtl::Reference< OResultSet > xCloseable(m_xResultSet.get());
     assert(xCloseable.is() || !m_xResultSet.get().is());
     if (xCloseable.is())
     {
@@ -252,15 +252,13 @@ Reference< XResultSet > SAL_CALL 
OStatement::executeQuery( const OUString& sql )
     checkDisposed(OStatement_BASE::rBHelper.bDisposed);
 
     construct(sql);
-    Reference< XResultSet > xRS;
     rtl::Reference<OResultSet> pResult = createResultSet();
-    xRS = pResult;
     initializeResultSet(pResult.get());
-    m_xResultSet = xRS;
+    m_xResultSet = pResult.get();
 
     pResult->OpenImpl();
 
-    return xRS;
+    return pResult;
 }
 
 Reference< XConnection > SAL_CALL OStatement::getConnection(  )
diff --git a/connectivity/source/inc/file/FStatement.hxx 
b/connectivity/source/inc/file/FStatement.hxx
index 57ce0a2fc0de..52fbd3d2850f 100644
--- a/connectivity/source/inc/file/FStatement.hxx
+++ b/connectivity/source/inc/file/FStatement.hxx
@@ -36,6 +36,7 @@
 #include <comphelper/propertycontainer.hxx>
 #include <file/fanalyzer.hxx>
 #include <TSortIndex.hxx>
+#include <unotools/weakref.hxx>
 
 namespace connectivity::file
     {
@@ -62,7 +63,7 @@ namespace connectivity::file
             std::vector<TAscendingOrder>              m_aOrderbyAscending;
 
             css::sdbc::SQLWarning                              m_aLastWarning;
-            css::uno::WeakReference< css::sdbc::XResultSet>    m_xResultSet;   
// The last ResultSet created
+            unotools::WeakReference< OResultSet>               m_xResultSet;   
// The last ResultSet created
             css::uno::Reference< css::sdbc::XDatabaseMetaData> m_xDBMetaData;
             css::uno::Reference< css::container::XNameAccess>  m_xColNames; // 
table columns                                                          //  for 
this Statement
 

Reply via email to