User: vg      
Date: 05/02/21 04:32:26

Modified:
 /dba/connectivity/source/drivers/mozab/mozillasrc/
  MQuery.cxx

Log:
 INTEGRATION: CWS mozab05 (1.13.46); FILE MERGED
 2005/01/27 11:30:12 windly 1.13.46.3: #i41444# mozab crash on solaris sparc
 2005/01/24 07:49:06 windly 1.13.46.2: #i20088# add thunderbird support
 2005/01/17 05:30:55 windly 1.13.46.1: #i20088# Detect Mozilla Thunderbird 
Address Book: patchs for connectivity

File Changes:

Directory: /dba/connectivity/source/drivers/mozab/mozillasrc/
=============================================================

File [changed]: MQuery.cxx
Url: 
http://dba.openoffice.org/source/browse/dba/connectivity/source/drivers/mozab/mozillasrc/MQuery.cxx?r1=1.13&r2=1.14
Delta lines:  +54 -24
---------------------
--- MQuery.cxx  25 Jun 2004 18:33:31 -0000      1.13
+++ MQuery.cxx  21 Feb 2005 12:32:23 -0000      1.14
@@ -77,6 +77,11 @@
 #ifndef _CONNECTIVITY_MAB_MOZABHELPER_HXX_
 #include "MNSMozabProxy.hxx"
 #endif
+#include <com/sun/star/uno/Reference.hxx>
+#include <unotools/processfactory.hxx>
+#ifndef _COM_SUN_STAR_MOZILLA_XMOZILLABOOTSTRAP_HPP_
+#include <com/sun/star/mozilla/XMozillaBootstrap.hpp>
+#endif
 
 #if OSL_DEBUG_LEVEL > 0
 # define OUtoCStr( x ) ( ::rtl::OUStringToOString ( (x), 
RTL_TEXTENCODING_ASCII_US).getStr())
@@ -407,6 +412,8 @@
     const char *pAddressBook = 
MTypeConverter::ouStringToCCharStringAscii(nameAB.getStr());
     prefName.Append(pAddressBook);
 
+       if (bindDN.getLength())
+       {
     nsCAutoString bindPrefName=prefName;
     bindPrefName.Append(NS_LITERAL_CSTRING(".auth.dn"));
     rv = prefs->SetCharPref (bindPrefName.get(),
@@ -418,14 +425,34 @@
     rv = prefs->SetCharPref (pwdPrefName.get(),
         MTypeConverter::ouStringToCCharStringAscii( password.getStr() ) );
     NS_ENSURE_SUCCESS(rv, rv);
-
+       }
+       if (useSSL)
+       {
     nsCAutoString sslPrefName=prefName;
     sslPrefName.Append(NS_LITERAL_CSTRING(".UseSSL"));
     rv = prefs->SetBoolPref (sslPrefName.get(),useSSL);
     NS_ENSURE_SUCCESS(rv, rv);
+       }
     return rv;
 }
                
+//determine whether current profile is locked,any error will lead to return 
true
+sal_Bool isProfileLocked(OConnection* _pCon)
+{
+       ::com::sun::star::uno::Reference< 
::com::sun::star::mozilla::XMozillaBootstrap > xMozillaBootstrap;
+       ::com::sun::star::uno::Reference< 
::com::sun::star::lang::XMultiServiceFactory > xFactory = 
::comphelper::getProcessServiceFactory();
+       OSL_ENSURE( xFactory.is(), "can't get service factory" );
+ 
+       ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > 
xInstance = xFactory->createInstance(::rtl::OUString( 
RTL_CONSTASCII_USTRINGPARAM("com.sun.star.mozilla.MozillaBootstrap")) );
+       OSL_ENSURE( xInstance.is(), "failed to create instance" );
+       xMozillaBootstrap = ::com::sun::star::uno::Reference< 
::com::sun::star::mozilla::XMozillaBootstrap 
>(xInstance,::com::sun::star::uno::UNO_QUERY);
+       if (_pCon)
+               return 
xMozillaBootstrap->isProfileLocked(_pCon->getProduct(),_pCon->getMozProfile());
+       else
+               return xMozillaBootstrap->isCurrentProfileLocked();
+}
+
+
 // -------------------------------------------------------------------------
 sal_Int32 getDirectoryType(const nsIAbDirectory*  directory)
 {
@@ -483,7 +510,7 @@
        args.arg1 = (void*)m_aQueryHelper;
        args.arg2 = (void*)&rowIndex;
        args.arg3 = (void*)m_aQueryDirectory->directory;
-       nsresult rv = xMProxy.StartProxy(&args);
+       nsresult rv = xMProxy.StartProxy(&args,m_Product,m_Profile);
     m_aErrorString = m_aQueryHelper->getErrorString();
     return rv;
 }
@@ -500,7 +527,7 @@
        args.arg1 = (void*)m_aQueryHelper;
        args.arg2 = (void*)&rowIndex;
        args.arg3 = (void*)m_aQueryDirectory->directory;
-       nsresult rv = xMProxy.StartProxy(&args);
+       nsresult rv = xMProxy.StartProxy(&args,m_Product,m_Profile);
     m_aErrorString = m_aQueryHelper->getErrorString();
     return rv;
 
@@ -511,6 +538,9 @@
 {
     ::osl::MutexGuard aGuard(m_aMutex);
     OSL_TRACE("IN MQuery::executeQuery()\n");
+       m_Product = _pCon->getProduct();
+       m_Profile = _pCon->getMozProfile();
+
        nsresult rv;
        MNSMozabProxy xMProxy;
        RunArgs args;
@@ -518,7 +548,7 @@
        args.argCount = 2;
        args.arg1 = (void*)this;
        args.arg2 = (void*)_pCon;
-       rv = xMProxy.StartProxy(&args); 
+       rv = xMProxy.StartProxy(&args,m_Product,m_Profile);     
        return rv;
 }
 // -------------------------------------------------------------------------
@@ -831,7 +861,7 @@
        args.argCount = 2;
        args.arg1 = (void*)m_aQueryHelper;
        args.arg2 = (void*)&nDBRow;
-       nsresult rv = xMProxy.StartProxy(&args);
+       nsresult rv = xMProxy.StartProxy(&args,m_Product,m_Profile);
     m_aErrorString = m_aQueryHelper->getErrorString();
     return rv;
 }
@@ -846,7 +876,7 @@
        args.argCount = 2;
        args.arg1 = (void*)m_aQueryHelper;
        args.arg2 = (void*)&nNumber;
-       nsresult rv = xMProxy.StartProxy(&args);
+       nsresult rv = xMProxy.StartProxy(&args,m_Product,m_Profile);
 
     m_aErrorString = m_aQueryHelper->getErrorString();
     NS_ENSURE_SUCCESS(rv,0);
@@ -868,7 +898,7 @@
 }
 // -------------------------------------------------------------------------
 sal_Bool MQuery::
-isWritable()
+isWritable(OConnection* _pCon)
 {
        if ( !m_aQueryDirectory )
                return sal_False;
@@ -877,7 +907,7 @@
        nsCOMPtr<nsIAbDirectory> directory = 
do_QueryInterface(m_aQueryDirectory->directory, &rv);;
     if (NS_FAILED(rv))
         return sal_False;
-       if (getDirectoryType(directory) == SDBCAddress::Mozilla && 
isProfileLocked())
+       if (getDirectoryType(directory) == SDBCAddress::Mozilla && 
isProfileLocked(_pCon))
                return sal_False;
 
        PRBool isWriteable;




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to