[Libreoffice-commits] .: cui/source desktop/inc desktop/source sfx2/source unotools/inc unotools/Library_utl.mk unotools/Package_inc.mk unotools/source

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Fri Nov 30 03:14:29 PST 2012


 cui/source/options/optmemory.cxx         |    1 
 desktop/inc/app.hxx                      |    8 
 desktop/source/app/app.cxx               |    2 
 desktop/source/app/appinit.cxx           |    7 
 sfx2/source/appl/app.cxx                 |    1 
 sfx2/source/appl/appmain.cxx             |    1 
 unotools/Library_utl.mk                  |    1 
 unotools/Package_inc.mk                  |    1 
 unotools/inc/unotools/itemholderbase.hxx |    1 
 unotools/inc/unotools/startoptions.hxx   |  113 -----------
 unotools/source/config/itemholder1.cxx   |    5 
 unotools/source/config/startoptions.cxx  |  311 -------------------------------
 12 files changed, 12 insertions(+), 440 deletions(-)

New commits:
commit 4b5e98967f62607d3c6f75ea2490bac4787cc62b
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Fri Nov 30 12:13:41 2012 +0100

    Remove SvtStartOptions
    
    ...the single remaining user can use officecfg/Setup.hxx instead.
    
    Change-Id: Icc1b56d820a9fcd7ecc52e279bcdde3aac4499d4

diff --git a/cui/source/options/optmemory.cxx b/cui/source/options/optmemory.cxx
index 4593fe7..9fd2c2b 100644
--- a/cui/source/options/optmemory.cxx
+++ b/cui/source/options/optmemory.cxx
@@ -36,7 +36,6 @@
 #include <unotools/useroptions.hxx>
 #include <unotools/fontoptions.hxx>
 #include <svtools/menuoptions.hxx>
-#include <unotools/startoptions.hxx>
 #include <svl/cjkoptions.hxx>
 #include <svtools/miscopt.hxx>
 #include <unotools/syslocaleoptions.hxx>
diff --git a/desktop/inc/app.hxx b/desktop/inc/app.hxx
index 0a4c071..dfa74c4 100644
--- a/desktop/inc/app.hxx
+++ b/desktop/inc/app.hxx
@@ -32,6 +32,10 @@
 #include <com/sun/star/uno/Reference.h>
 #include <osl/mutex.hxx>
 
+namespace com { namespace sun { namespace star { namespace uno {
+    class XComponentContext;
+} } } }
+
 using namespace com::sun::star::task;
 using namespace com::sun::star::uno;
 using namespace com::sun::star::lang;
@@ -131,7 +135,9 @@ class Desktop : public Application
             // throws an exception upon failure
 
     private:
-        void                    RegisterServices();
+        void RegisterServices(
+            com::sun::star::uno::Reference<
+                com::sun::star::uno::XComponentContext > const & context);
         void                    DeregisterServices();
 
         void                    CreateTemporaryDirectory();
diff --git a/desktop/source/app/app.cxx b/desktop/source/app/app.cxx
index cfa6a52..34ef4c4 100644
--- a/desktop/source/app/app.cxx
+++ b/desktop/source/app/app.cxx
@@ -1447,7 +1447,7 @@ int Desktop::Main()
     Reference< XDesktop > xDesktop;
     try
     {
-        RegisterServices();
+        RegisterServices(comphelper::getProcessComponentContext());
 
         SetSplashScreenProgress(25);
 
diff --git a/desktop/source/app/appinit.cxx b/desktop/source/app/appinit.cxx
index 06b6578..7012243 100644
--- a/desktop/source/app/appinit.cxx
+++ b/desktop/source/app/appinit.cxx
@@ -38,6 +38,7 @@
 #include <uno/current_context.hxx>
 #include <cppuhelper/servicefactory.hxx>
 #include <cppuhelper/bootstrap.hxx>
+#include <officecfg/Setup.hxx>
 #include <osl/file.hxx>
 #include <osl/module.h>
 #include <rtl/uri.hxx>
@@ -53,7 +54,6 @@
 #include <unotools/ucbhelper.hxx>
 #include <unotools/tempfile.hxx>
 #include <vcl/svapp.hxx>
-#include <unotools/startoptions.hxx>
 #include <unotools/pathoptions.hxx>
 #include <unotools/internaloptions.hxx>
 
@@ -119,7 +119,7 @@ void Desktop::InitApplicationServiceManager()
     comphelper::setProcessServiceFactory(sm);
 }
 
-void Desktop::RegisterServices()
+void Desktop::RegisterServices(Reference< XComponentContext > const & context)
 {
     if( !m_bServicesRegistered )
     {
@@ -137,7 +137,8 @@ void Desktop::RegisterServices()
             Application::EnableHeadlessMode(false);
 
         // read accept string from configuration
-        rtl::OUString conDcpCfg(SvtStartOptions().GetConnectionURL());
+        OUString conDcpCfg(
+            officecfg::Setup::Office::ooSetupConnectionURL::get(context));
         if (!conDcpCfg.isEmpty()) {
             createAcceptor(conDcpCfg);
         }
diff --git a/sfx2/source/appl/app.cxx b/sfx2/source/appl/app.cxx
index f586242..2c47a9d 100644
--- a/sfx2/source/appl/app.cxx
+++ b/sfx2/source/appl/app.cxx
@@ -108,7 +108,6 @@
 #include <svtools/menuoptions.hxx>
 #include <svtools/miscopt.hxx>
 #include <unotools/useroptions.hxx>
-#include <unotools/startoptions.hxx>
 #include <unotools/securityoptions.hxx>
 #include <unotools/localisationoptions.hxx>
 #include <unotools/fontoptions.hxx>
diff --git a/sfx2/source/appl/appmain.cxx b/sfx2/source/appl/appmain.cxx
index edf1478..d726fd6 100644
--- a/sfx2/source/appl/appmain.cxx
+++ b/sfx2/source/appl/appmain.cxx
@@ -22,7 +22,6 @@
 
 #include <stdio.h>
 #include <svtools/ehdl.hxx>
-#include <unotools/startoptions.hxx>
 #include <svl/itempool.hxx>
 #include <svl/urihelper.hxx>
 #include <svtools/helpopt.hxx>
diff --git a/unotools/Library_utl.mk b/unotools/Library_utl.mk
index ba34494..6a83b55 100644
--- a/unotools/Library_utl.mk
+++ b/unotools/Library_utl.mk
@@ -100,7 +100,6 @@ $(eval $(call gb_Library_add_exception_objects,utl,\
     unotools/source/config/saveopt \
     unotools/source/config/searchopt \
     unotools/source/config/securityoptions \
-    unotools/source/config/startoptions \
     unotools/source/config/syslocaleoptions \
     unotools/source/config/useroptions \
     unotools/source/config/viewoptions \
diff --git a/unotools/Package_inc.mk b/unotools/Package_inc.mk
index 2ddb5f2..cac003a 100644
--- a/unotools/Package_inc.mk
+++ b/unotools/Package_inc.mk
@@ -83,7 +83,6 @@ $(eval $(call gb_Package_add_file,unotools_inc,inc/unotools/saveopt.hxx,unotools
 $(eval $(call gb_Package_add_file,unotools_inc,inc/unotools/searchopt.hxx,unotools/searchopt.hxx))
 $(eval $(call gb_Package_add_file,unotools_inc,inc/unotools/securityoptions.hxx,unotools/securityoptions.hxx))
 $(eval $(call gb_Package_add_file,unotools_inc,inc/unotools/sharedunocomponent.hxx,unotools/sharedunocomponent.hxx))
-$(eval $(call gb_Package_add_file,unotools_inc,inc/unotools/startoptions.hxx,unotools/startoptions.hxx))
 $(eval $(call gb_Package_add_file,unotools_inc,inc/unotools/streamhelper.hxx,unotools/streamhelper.hxx))
 $(eval $(call gb_Package_add_file,unotools_inc,inc/unotools/streamsection.hxx,unotools/streamsection.hxx))
 $(eval $(call gb_Package_add_file,unotools_inc,inc/unotools/streamwrap.hxx,unotools/streamwrap.hxx))
diff --git a/unotools/inc/unotools/itemholderbase.hxx b/unotools/inc/unotools/itemholderbase.hxx
index 25af236..dab45e6 100644
--- a/unotools/inc/unotools/itemholderbase.hxx
+++ b/unotools/inc/unotools/itemholderbase.hxx
@@ -82,7 +82,6 @@ enum EItem
     E_SAVEOPTIONS                   ,   //
     E_SEARCHOPT                     ,   //
     E_SECURITYOPTIONS               ,   //
-    E_STARTOPTIONS                  ,   //
     E_SYSLOCALEOPTIONS              ,   // 2
 
     E_USEROPTIONS                   ,   // 2
diff --git a/unotools/inc/unotools/startoptions.hxx b/unotools/inc/unotools/startoptions.hxx
deleted file mode 100644
index dbe5147..0000000
--- a/unotools/inc/unotools/startoptions.hxx
+++ /dev/null
@@ -1,113 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- *   Licensed to the Apache Software Foundation (ASF) under one or more
- *   contributor license agreements. See the NOTICE file distributed
- *   with this work for additional information regarding copyright
- *   ownership. The ASF licenses this file to you under the Apache
- *   License, Version 2.0 (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.apache.org/licenses/LICENSE-2.0 .
- */
-#ifndef INCLUDED_unotools_STARTOPTIONS_HXX
-#define INCLUDED_unotools_STARTOPTIONS_HXX
-
-#include "unotools/unotoolsdllapi.h"
-#include <sal/types.h>
-#include <osl/mutex.hxx>
-#include <rtl/ustring.hxx>
-#include <unotools/options.hxx>
-
-/*-************************************************************************************************************//**
-    @short          forward declaration to our private date container implementation
-    @descr          We use these class as internal member to support small memory requirements.
-                    You can create the container if it is neccessary. The class which use these mechanism
-                    is faster and smaller then a complete implementation!
-*//*-*************************************************************************************************************/
-
-class SvtStartOptions_Impl;
-
-/*-************************************************************************************************************//**
-    @short          collect informations about startup features
-    @descr          -
-
-    @implements     -
-    @base           -
-
-    @devstatus      ready to use
-*//*-*************************************************************************************************************/
-
-class UNOTOOLS_DLLPUBLIC SvtStartOptions: public utl::detail::Options
-{
-    public:
-        /*-****************************************************************************************************//**
-            @short      standard constructor and destructor
-            @descr      This will initialize an instance with default values.
-                        We implement these class with a refcount mechanism! Every instance of this class increase it
-                        at create and decrease it at delete time - but all instances use the same data container!
-                        He is implemented as a static member ...
-
-            @seealso    member m_nRefCount
-            @seealso    member m_pDataContainer
-
-            @param      -
-            @return     -
-
-            @onerror    -
-        *//*-*****************************************************************************************************/
-
-         SvtStartOptions();
-        virtual ~SvtStartOptions();
-
-        /*-****************************************************************************************************//**
-            @short      returns or set the connection URL of an office
-            @descr      Specifies the URL for an UNO connection.
-                        No default is given, the URL has to be entered manually by the admin/user.
-                        zB.: "socket,host=pc1.test.de,port=6001;iiop;"
-
-            @seealso    configuration package "org.openoffice.Office.Common/Start"
-        *//*-*****************************************************************************************************/
-
-        ::rtl::OUString GetConnectionURL(                               ) const ;
-    private:
-
-        /*-****************************************************************************************************//**
-            @short      return a reference to a static mutex
-            @descr      These class use his own static mutex to be threadsafe.
-                        We create a static mutex only for one ime and use at different times.
-
-            @seealso    -
-
-            @param      -
-            @return     A reference to a static mutex member.
-
-            @onerror    -
-        *//*-*****************************************************************************************************/
-
-        UNOTOOLS_DLLPRIVATE static ::osl::Mutex& GetOwnStaticMutex();
-
-    private:
-
-        /*Attention
-
-            Don't initialize these static member in these header!
-            a) Double dfined symbols will be detected ...
-            b) and unresolved externals exist at linking time.
-            Do it in your source only.
-         */
-
-        static SvtStartOptions_Impl*    m_pDataContainer    ;   /// impl. data container as dynamic pointer for smaller memory requirements!
-        static sal_Int32                m_nRefCount         ;   /// internal ref count mechanism
-
-};      // class SvtStartOptions
-
-#endif  // #ifndef INCLUDED_unotools_STARTOPTIONS_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/unotools/source/config/itemholder1.cxx b/unotools/source/config/itemholder1.cxx
index de97365..19ff19d 100644
--- a/unotools/source/config/itemholder1.cxx
+++ b/unotools/source/config/itemholder1.cxx
@@ -46,7 +46,6 @@
 #include <unotools/saveopt.hxx>
 #include <unotools/searchopt.hxx>
 #include <unotools/securityoptions.hxx>
-#include <unotools/startoptions.hxx>
 #include <unotools/viewoptions.hxx>
 #include <unotools/workingsetoptions.hxx>
 #include <unotools/xmlaccelcfg.hxx>
@@ -242,10 +241,6 @@ void ItemHolder1::impl_newItem(TItemInfo& rItem)
             rItem.pItem = new SvtSecurityOptions();
             break;
 
-        case E_STARTOPTIONS :
-            rItem.pItem = new SvtStartOptions();
-            break;
-
         case E_VIEWOPTIONS_DIALOG :
             rItem.pItem = new SvtViewOptions(E_DIALOG, ::rtl::OUString());
             break;
diff --git a/unotools/source/config/startoptions.cxx b/unotools/source/config/startoptions.cxx
deleted file mode 100644
index 9233091..0000000
--- a/unotools/source/config/startoptions.cxx
+++ /dev/null
@@ -1,311 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- *   Licensed to the Apache Software Foundation (ASF) under one or more
- *   contributor license agreements. See the NOTICE file distributed
- *   with this work for additional information regarding copyright
- *   ownership. The ASF licenses this file to you under the Apache
- *   License, Version 2.0 (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.apache.org/licenses/LICENSE-2.0 .
- */
-
-#include <unotools/startoptions.hxx>
-#include <unotools/configmgr.hxx>
-#include <unotools/configitem.hxx>
-#include <tools/debug.hxx>
-#include <com/sun/star/uno/Any.hxx>
-#include <com/sun/star/uno/Sequence.hxx>
-
-#include <rtl/logfile.hxx>
-#include "itemholder1.hxx"
-
-using namespace ::utl                   ;
-using namespace ::rtl                   ;
-using namespace ::osl                   ;
-using namespace ::com::sun::star::uno   ;
-
-#define ROOTNODE_START                  OUString(RTL_CONSTASCII_USTRINGPARAM("Setup/Office" ))
-#define PROPERTYNAME_CONNECTIONURL      OUString(RTL_CONSTASCII_USTRINGPARAM("ooSetupConnectionURL" ))
-
-#define PROPERTYHANDLE_CONNECTIONURL    0
-
-#define PROPERTYCOUNT                   1
-
-class SvtStartOptions_Impl : public ConfigItem
-{
-    public:
-
-         SvtStartOptions_Impl();
-        ~SvtStartOptions_Impl();
-
-        /*-****************************************************************************************************//**
-            @short      called for notify of configmanager
-            @descr      These method is called from the ConfigManager before application ends or from the
-                         PropertyChangeListener if the sub tree broadcasts changes. You must update your
-                        internal values.
-
-            @ATTENTION  We don't implement these method - because we support readonly values at runtime only!
-
-            @seealso    baseclass ConfigItem
-
-            @param      "seqPropertyNames" is the list of properties which should be updated.
-            @return     -
-
-            @onerror    -
-        *//*-*****************************************************************************************************/
-
-        virtual void Notify( const Sequence< OUString >& seqPropertyNames );
-
-        /*-****************************************************************************************************//**
-            @short      write changes to configuration
-            @descr      These method writes the changed values into the sub tree
-                        and should always called in our destructor to guarantee consistency of config data.
-
-            @ATTENTION  We don't implement these method - because we support readonly values at runtime only!
-
-            @seealso    baseclass ConfigItem
-
-            @param      -
-            @return     -
-
-            @onerror    -
-        *//*-*****************************************************************************************************/
-
-        virtual void Commit();
-
-        /*-****************************************************************************************************//**
-            @short      access method to get internal values
-            @descr      These method give us a chance to regulate acces to ouer internal values.
-                        It's not used in the moment - but it's possible for the feature!
-
-            @seealso    -
-
-            @param      -
-            @return     -
-
-            @onerror    -
-        *//*-*****************************************************************************************************/
-
-        OUString    GetConnectionURL(                       ) const ;
-
-    private:
-
-        /*-****************************************************************************************************//**
-            @short      return list of fix key names of ouer configuration management which represent oue module tree
-            @descr      These methods return a static const list of key names. We need it to get needed values from our
-                        configuration management. We return well known key names only - because the "UserData" node
-                        is handled in a special way!
-
-            @seealso    -
-
-            @param      -
-            @return     A list of needed configuration keys is returned.
-
-            @onerror    -
-        *//*-*****************************************************************************************************/
-
-        static Sequence< OUString > impl_GetPropertyNames();
-
-    private:
-
-        OUString    m_sConnectionURL    ;   /// cache "Connection" of Start section
-};
-
-//*****************************************************************************************************************
-//  constructor
-//*****************************************************************************************************************
-SvtStartOptions_Impl::SvtStartOptions_Impl()
-    // Init baseclasses first
-    :   ConfigItem          ( ROOTNODE_START    )
-{
-    // Use our static list of configuration keys to get his values.
-    Sequence< OUString >    seqNames    = impl_GetPropertyNames();
-    Sequence< Any >         seqValues   = GetProperties( seqNames ) ;
-
-    // Safe impossible cases.
-    // We need values from ALL configuration keys.
-    // Follow assignment use order of values in relation to our list of key names!
-    DBG_ASSERT( !(seqNames.getLength()!=seqValues.getLength()), "SvtStartOptions_Impl::SvtStartOptions_Impl()\nI miss some values of configuration keys!\n" );
-
-    // Copy values from list in right order to ouer internal member.
-    sal_Int32 nPropertyCount    =   seqValues.getLength()   ;
-    sal_Int32 nProperty         =   0                       ;
-    for( nProperty=0; nProperty<nPropertyCount; ++nProperty )
-    {
-        // Safe impossible cases.
-        // Check any for valid value.
-        DBG_ASSERT( !(seqValues[nProperty].hasValue()==sal_False), "SvtStartOptions_Impl::SvtStartOptions_Impl()\nInvalid property value for property detected!\n" );
-        switch( nProperty )
-        {
-            case PROPERTYHANDLE_CONNECTIONURL   :   {
-                                                         DBG_ASSERT(!(seqValues[nProperty].getValueTypeClass()!=TypeClass_STRING), "SvtStartOptions_Impl::SvtStartOptions_Impl()\nWho has changed the value type of \"Office.Common\\Start\\Connection\"?" );
-                                                        seqValues[nProperty] >>= m_sConnectionURL;
-                                                    }
-                                                    break;
-        }
-    }
-
-    // Don't enable notification mechanism of ouer baseclass!
-    // We support readonly variables in the moment.
-}
-
-//*****************************************************************************************************************
-//  destructor
-//*****************************************************************************************************************
-SvtStartOptions_Impl::~SvtStartOptions_Impl()
-{
-    // We must save our current values .. if user forget it!
-    if( IsModified() == sal_True )
-    {
-        Commit();
-    }
-}
-
-//*****************************************************************************************************************
-//  public method
-//*****************************************************************************************************************
-void SvtStartOptions_Impl::Notify( const Sequence< OUString >& seqPropertyNames )
-{
-    // Use given list of updated properties to get his values from configuration directly!
-    Sequence< Any > seqValues = GetProperties( seqPropertyNames );
-    // Safe impossible cases.
-    // We need values from ALL notified configuration keys.
-    DBG_ASSERT( !(seqPropertyNames.getLength()!=seqValues.getLength()), "SvtStartOptions_Impl::Notify()\nI miss some values of configuration keys!\n" );
-    // Step over list of property names and get right value from coreesponding value list to set it on internal members!
-    sal_Int32 nCount = seqPropertyNames.getLength();
-    for( sal_Int32 nProperty=0; nProperty<nCount; ++nProperty )
-    {
-        if( seqPropertyNames[nProperty] == PROPERTYNAME_CONNECTIONURL )
-        {
-            DBG_ASSERT(!(seqValues[nProperty].getValueTypeClass()!=TypeClass_STRING), "SvtStartOptions_Impl::Notify()\nWho has changed the value type of \"Office.Common\\Start\\Connection\"?" );
-            seqValues[nProperty] >>= m_sConnectionURL;
-        }
-        #if OSL_DEBUG_LEVEL > 1
-        else DBG_ASSERT( sal_False, "SvtStartOptions_Impl::Notify()\nUnkown property detected ... I can't handle these!\n" );
-        #endif
-    }
-}
-
-//*****************************************************************************************************************
-//  public method
-//*****************************************************************************************************************
-void SvtStartOptions_Impl::Commit()
-{
-    // Get names of supported properties, create a list for values and copy current values to it.
-    Sequence< OUString >    seqNames    = impl_GetPropertyNames();
-    sal_Int32               nCount      = seqNames.getLength();
-    Sequence< Any >         seqValues   ( nCount );
-    for( sal_Int32 nProperty=0; nProperty<nCount; ++nProperty )
-    {
-        switch( nProperty )
-        {
-            case PROPERTYHANDLE_CONNECTIONURL   :   {
-                                                         seqValues[nProperty] <<= m_sConnectionURL;
-                                                     }
-                                                     break;
-        }
-    }
-    // Set properties in configuration.
-    PutProperties( seqNames, seqValues );
-}
-
-//*****************************************************************************************************************
-//  public method
-//*****************************************************************************************************************
-OUString SvtStartOptions_Impl::GetConnectionURL() const
-{
-    return m_sConnectionURL;
-}
-
-//*****************************************************************************************************************
-//  private method
-//*****************************************************************************************************************
-Sequence< OUString > SvtStartOptions_Impl::impl_GetPropertyNames()
-{
-    // Build list of configuration key names.
-    const OUString pProperties[] =
-    {
-        PROPERTYNAME_CONNECTIONURL  ,
-    };
-    // Initialize return sequence with these list ...
-    const Sequence< OUString > seqPropertyNames( pProperties, PROPERTYCOUNT );
-    // ... and return it.
-    return seqPropertyNames;
-}
-
-//*****************************************************************************************************************
-//  initialize static member
-//  DON'T DO IT IN YOUR HEADER!
-//  see definition for further informations
-//*****************************************************************************************************************
-SvtStartOptions_Impl*   SvtStartOptions::m_pDataContainer   = NULL  ;
-sal_Int32               SvtStartOptions::m_nRefCount        = 0     ;
-
-//*****************************************************************************************************************
-//  constructor
-//*****************************************************************************************************************
-SvtStartOptions::SvtStartOptions()
-{
-    // Global access, must be guarded (multithreading!).
-    MutexGuard aGuard( GetOwnStaticMutex() );
-    // Increase ouer refcount ...
-    ++m_nRefCount;
-    // ... and initialize ouer data container only if it not already!
-    if( m_pDataContainer == NULL )
-    {
-        RTL_LOGFILE_CONTEXT(aLog, "unotools ( ??? ) ::SvtStartOptions_Impl::ctor()");
-        m_pDataContainer = new SvtStartOptions_Impl();
-
-        ItemHolder1::holdConfigItem(E_STARTOPTIONS);
-    }
-}
-
-//*****************************************************************************************************************
-//  destructor
-//*****************************************************************************************************************
-SvtStartOptions::~SvtStartOptions()
-{
-    // Global access, must be guarded (multithreading!)
-    MutexGuard aGuard( GetOwnStaticMutex() );
-    // Decrease ouer refcount.
-    --m_nRefCount;
-    // If last instance was deleted ...
-    // we must destroy ouer static data container!
-    if( m_nRefCount <= 0 )
-    {
-        delete m_pDataContainer;
-        m_pDataContainer = NULL;
-    }
-}
-
-//*****************************************************************************************************************
-//  public method
-//*****************************************************************************************************************
-OUString SvtStartOptions::GetConnectionURL() const
-{
-    MutexGuard aGuard( GetOwnStaticMutex() );
-    return m_pDataContainer->GetConnectionURL();
-}
-
-namespace
-{
-    class theStartOptionsMutex : public rtl::Static<osl::Mutex, theStartOptionsMutex>{};
-}
-
-//*****************************************************************************************************************
-//  private method
-//*****************************************************************************************************************
-Mutex& SvtStartOptions::GetOwnStaticMutex()
-{
-    return theStartOptionsMutex::get();
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */


More information about the Libreoffice-commits mailing list