diff options
author | Michael Stahl <mstahl@redhat.com> | 2012-01-28 20:55:39 +0100 |
---|---|---|
committer | Michael Stahl <mstahl@redhat.com> | 2012-01-28 20:55:39 +0100 |
commit | 371976860088a3c5c3df9840dcdfd632d9d6f1f5 (patch) | |
tree | 9e9f67205cd5b72f1031721273e1534a3a1e5b0f /framework/source/uiconfiguration/globalsettings.cxx | |
parent | 651568afad1a585c485384ab6d7b65780fb02256 (diff) |
replace obsolete "master" branch with README that points at new repoHEADmaster-deletedmaster
Diffstat (limited to 'framework/source/uiconfiguration/globalsettings.cxx')
-rw-r--r-- | framework/source/uiconfiguration/globalsettings.cxx | 358 |
1 files changed, 0 insertions, 358 deletions
diff --git a/framework/source/uiconfiguration/globalsettings.cxx b/framework/source/uiconfiguration/globalsettings.cxx deleted file mode 100644 index c10d43e99a..0000000000 --- a/framework/source/uiconfiguration/globalsettings.cxx +++ /dev/null @@ -1,358 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -// MARKER(update_precomp.py): autogen include statement, do not remove -#include "precompiled_framework.hxx" - -//_________________________________________________________________________________________________________________ -// my own includes -//_________________________________________________________________________________________________________________ -#include "uiconfiguration/globalsettings.hxx" -#include <threadhelp/resetableguard.hxx> -#include "services.h" - -//_________________________________________________________________________________________________________________ -// interface includes -//_________________________________________________________________________________________________________________ -#include <com/sun/star/beans/PropertyValue.hpp> -#include <com/sun/star/beans/XPropertySet.hpp> -#include <com/sun/star/container/XNameAccess.hpp> -#include <com/sun/star/container/XNameContainer.hpp> -#include <com/sun/star/container/XContainer.hpp> -#include <com/sun/star/lang/XComponent.hpp> -#include <com/sun/star/lang/XEventListener.hpp> - -//_________________________________________________________________________________________________________________ -// includes of other projects -//_________________________________________________________________________________________________________________ -#include <rtl/ustrbuf.hxx> -#include <rtl/instance.hxx> -#include <cppuhelper/weak.hxx> -#include <tools/debug.hxx> - -//_________________________________________________________________________________________________________________ -// Defines -//_________________________________________________________________________________________________________________ - -using namespace ::com::sun::star; - -using ::rtl::OUString; - -//_________________________________________________________________________________________________________________ -// Namespace -//_________________________________________________________________________________________________________________ - -static const char GLOBALSETTINGS_ROOT_ACCESS[] = "/org.openoffice.Office.UI.GlobalSettings/Toolbars"; - -static const char GLOBALSETTINGS_NODEREF_STATES[] = "States"; -static const char GLOBALSETTINGS_PROPERTY_LOCKED[] = "Locked"; -static const char GLOBALSETTINGS_PROPERTY_DOCKED[] = "Docked"; -static const char GLOBALSETTINGS_PROPERTY_STATESENABLED[] = "StatesEnabled"; - -namespace framework -{ - -//***************************************************************************************************************** -// Configuration access class for WindowState supplier implementation -//***************************************************************************************************************** - -class GlobalSettings_Access : public ::com::sun::star::lang::XComponent , - public ::com::sun::star::lang::XEventListener , - private ThreadHelpBase , // Struct for right initalization of mutex member! Must be first of baseclasses. - public ::cppu::OWeakObject -{ - public: - GlobalSettings_Access( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& xServiceManager ); - virtual ~GlobalSettings_Access(); - - // XInterface, XTypeProvider, XServiceInfo - FWK_DECLARE_XINTERFACE - - // XComponent - virtual void SAL_CALL dispose() throw (::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener >& xListener ) throw (::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener >& aListener ) throw (::com::sun::star::uno::RuntimeException); - - // XEventListener - virtual void SAL_CALL disposing( const ::com::sun::star::lang::EventObject& Source ) throw (::com::sun::star::uno::RuntimeException); - - // settings access - sal_Bool HasStatesInfo( GlobalSettings::UIElementType eElementType ); - sal_Bool GetStateInfo( GlobalSettings::UIElementType eElementType, GlobalSettings::StateInfo eStateInfo, ::com::sun::star::uno::Any& aValue ); - - private: - sal_Bool impl_initConfigAccess(); - - sal_Bool m_bDisposed : 1, - m_bConfigRead : 1; - rtl::OUString m_aConfigSettingsAccess; - rtl::OUString m_aNodeRefStates; - rtl::OUString m_aPropStatesEnabled; - rtl::OUString m_aPropLocked; - rtl::OUString m_aPropDocked; - ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess > m_xConfigAccess; - ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > m_xServiceManager; -}; - - -//***************************************************************************************************************** -// XInterface -//***************************************************************************************************************** -DEFINE_XINTERFACE_2 ( GlobalSettings_Access , - OWeakObject , - DIRECT_INTERFACE ( css::lang::XComponent ), - DIRECT_INTERFACE ( css::lang::XEventListener ) - ) - -GlobalSettings_Access::GlobalSettings_Access( const css::uno::Reference< css::lang::XMultiServiceFactory >& rServiceManager ) : - ThreadHelpBase(), - m_bDisposed( sal_False ), - m_bConfigRead( sal_False ), - m_aConfigSettingsAccess( RTL_CONSTASCII_USTRINGPARAM( GLOBALSETTINGS_ROOT_ACCESS )), - m_aNodeRefStates( RTL_CONSTASCII_USTRINGPARAM( GLOBALSETTINGS_NODEREF_STATES )), - m_aPropStatesEnabled( RTL_CONSTASCII_USTRINGPARAM( GLOBALSETTINGS_PROPERTY_STATESENABLED )), - m_aPropLocked( RTL_CONSTASCII_USTRINGPARAM( GLOBALSETTINGS_PROPERTY_LOCKED )), - m_aPropDocked( RTL_CONSTASCII_USTRINGPARAM( GLOBALSETTINGS_PROPERTY_DOCKED )), - m_xServiceManager( rServiceManager ) -{ -} - -GlobalSettings_Access::~GlobalSettings_Access() -{ -} - -// XComponent -void SAL_CALL GlobalSettings_Access::dispose() -throw ( css::uno::RuntimeException ) -{ - // SAFE - ResetableGuard aLock( m_aLock ); - - m_xConfigAccess.clear(); - m_bDisposed = sal_True; -} - -void SAL_CALL GlobalSettings_Access::addEventListener( const css::uno::Reference< css::lang::XEventListener >& ) -throw (css::uno::RuntimeException) -{ -} - -void SAL_CALL GlobalSettings_Access::removeEventListener( const css::uno::Reference< css::lang::XEventListener >& ) -throw (css::uno::RuntimeException) -{ -} - -// XEventListener -void SAL_CALL GlobalSettings_Access::disposing( const css::lang::EventObject& ) -throw (css::uno::RuntimeException) -{ - // SAFE - ResetableGuard aLock( m_aLock ); - m_xConfigAccess.clear(); -} - -// settings access -sal_Bool GlobalSettings_Access::HasStatesInfo( GlobalSettings::UIElementType eElementType ) -{ - ResetableGuard aLock( m_aLock ); - if ( eElementType == GlobalSettings::UIELEMENT_TYPE_DOCKWINDOW ) - return sal_False; - else if ( eElementType == GlobalSettings::UIELEMENT_TYPE_STATUSBAR ) - return sal_False; - - if ( m_bDisposed ) - return sal_False; - - if ( !m_bConfigRead ) - { - m_bConfigRead = sal_True; - impl_initConfigAccess(); - } - - if ( m_xConfigAccess.is() ) - { - try - { - css::uno::Any a; - sal_Bool bValue = sal_Bool(); - a = m_xConfigAccess->getByName( m_aPropStatesEnabled ); - if ( a >>= bValue ) - return bValue; - } - catch ( css::container::NoSuchElementException& ) - { - } - catch ( css::uno::Exception& ) - { - } - } - - return sal_False; -} - -sal_Bool GlobalSettings_Access::GetStateInfo( GlobalSettings::UIElementType eElementType, GlobalSettings::StateInfo eStateInfo, ::com::sun::star::uno::Any& aValue ) -{ - ResetableGuard aLock( m_aLock ); - if ( eElementType == GlobalSettings::UIELEMENT_TYPE_DOCKWINDOW ) - return sal_False; - else if ( eElementType == GlobalSettings::UIELEMENT_TYPE_STATUSBAR ) - return sal_False; - - if ( m_bDisposed ) - return sal_False; - - if ( !m_bConfigRead ) - { - m_bConfigRead = sal_True; - impl_initConfigAccess(); - } - - if ( m_xConfigAccess.is() ) - { - try - { - css::uno::Any a; - a = m_xConfigAccess->getByName( m_aNodeRefStates ); - css::uno::Reference< css::container::XNameAccess > xNameAccess; - if ( a >>= xNameAccess ) - { - if ( eStateInfo == GlobalSettings::STATEINFO_LOCKED ) - a = xNameAccess->getByName( m_aPropLocked ); - else if ( eStateInfo == GlobalSettings::STATEINFO_DOCKED ) - a = xNameAccess->getByName( m_aPropDocked ); - - aValue = a; - return sal_True; - } - } - catch ( css::container::NoSuchElementException& ) - { - } - catch ( css::uno::Exception& ) - { - } - } - - return sal_False; -} - -sal_Bool GlobalSettings_Access::impl_initConfigAccess() -{ - css::uno::Sequence< css::uno::Any > aArgs( 2 ); - css::beans::PropertyValue aPropValue; - - try - { - css::uno::Reference< css::lang::XMultiServiceFactory > xConfigProvider; - if ( m_xServiceManager.is() ) - xConfigProvider = css::uno::Reference< css::lang::XMultiServiceFactory >( - m_xServiceManager->createInstance( SERVICENAME_CFGPROVIDER ), - css::uno::UNO_QUERY ); - - if ( xConfigProvider.is() ) - { - aPropValue.Name = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "nodepath" )); - aPropValue.Value = css::uno::makeAny( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( GLOBALSETTINGS_ROOT_ACCESS ))); - aArgs[0] = css::uno::makeAny( aPropValue ); - aPropValue.Name = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "lazywrite" )); - aPropValue.Value = css::uno::makeAny( sal_True ); - aArgs[1] = css::uno::makeAny( aPropValue ); - - m_xConfigAccess = css::uno::Reference< css::container::XNameAccess >( - xConfigProvider->createInstanceWithArguments( - SERVICENAME_CFGREADACCESS, aArgs ), - css::uno::UNO_QUERY ); - - css::uno::Reference< css::lang::XComponent > xComponent( xConfigProvider, css::uno::UNO_QUERY ); - if ( xComponent.is() ) - xComponent->addEventListener( - css::uno::Reference< css::lang::XEventListener >( - static_cast< cppu::OWeakObject* >( this ), - css::uno::UNO_QUERY )); - } - - return m_xConfigAccess.is(); - } - catch ( css::lang::WrappedTargetException& ) - { - } - catch ( css::uno::Exception& ) - { - } - - return sal_False; -} - -//***************************************************************************************************************** -// global class -//***************************************************************************************************************** - -struct mutexGlobalSettings : public rtl::Static< osl::Mutex, mutexGlobalSettings > {}; -static GlobalSettings_Access* pStaticSettings = 0; - -static GlobalSettings_Access* GetGlobalSettings( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& rSrvMgr ) -{ - osl::MutexGuard aGuard(mutexGlobalSettings::get()); - if ( !pStaticSettings ) - pStaticSettings = new GlobalSettings_Access( rSrvMgr ); - return pStaticSettings; -} - -GlobalSettings::GlobalSettings( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& rSrvMgr ) : - m_xSrvMgr( rSrvMgr ) -{ -} - -GlobalSettings::~GlobalSettings() -{ -} - -// settings access -sal_Bool GlobalSettings::HasStatesInfo( UIElementType eElementType ) -{ - GlobalSettings_Access* pSettings( GetGlobalSettings( m_xSrvMgr )); - - if ( pSettings ) - return pSettings->HasStatesInfo( eElementType ); - else - return sal_False; -} - -sal_Bool GlobalSettings::GetStateInfo( UIElementType eElementType, StateInfo eStateInfo, ::com::sun::star::uno::Any& aValue ) -{ - GlobalSettings_Access* pSettings( GetGlobalSettings( m_xSrvMgr )); - - if ( pSettings ) - return pSettings->GetStateInfo( eElementType, eStateInfo, aValue ); - else - return sal_False; -} - -} // namespace framework - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |