dp_managerfac.cxx (cdf0e10c) | dp_managerfac.cxx (8402cd44) |
---|---|
1/************************************************************************* 2 * 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * Copyright 2000, 2010 Oracle and/or its affiliates. 6 * 7 * OpenOffice.org - a multi-platform office productivity suite 8 * --- 40 unchanged lines hidden (view full) --- 49//============================================================================== 50class PackageManagerFactoryImpl : private MutexHolder, public t_pmfac_helper 51{ 52 Reference<XComponentContext> m_xComponentContext; 53 54 Reference<deployment::XPackageManager> m_xUserMgr; 55 Reference<deployment::XPackageManager> m_xSharedMgr; 56 Reference<deployment::XPackageManager> m_xBundledMgr; | 1/************************************************************************* 2 * 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * Copyright 2000, 2010 Oracle and/or its affiliates. 6 * 7 * OpenOffice.org - a multi-platform office productivity suite 8 * --- 40 unchanged lines hidden (view full) --- 49//============================================================================== 50class PackageManagerFactoryImpl : private MutexHolder, public t_pmfac_helper 51{ 52 Reference<XComponentContext> m_xComponentContext; 53 54 Reference<deployment::XPackageManager> m_xUserMgr; 55 Reference<deployment::XPackageManager> m_xSharedMgr; 56 Reference<deployment::XPackageManager> m_xBundledMgr; |
57 Reference<deployment::XPackageManager> m_xTmpMgr; 58 Reference<deployment::XPackageManager> m_xBakMgr; |
|
57 typedef ::std::hash_map< 58 OUString, WeakReference<deployment::XPackageManager>, 59 ::rtl::OUStringHash > t_string2weakref; 60 t_string2weakref m_managers; 61 62protected: 63 inline void check(); 64 virtual void SAL_CALL disposing(); --- 73 unchanged lines hidden (view full) --- 138 t_string2weakref::const_iterator const iEnd( m_managers.end() ); 139 for ( ; iPos != iEnd; ++iPos ) 140 try_dispose( iPos->second ); 141 m_managers = t_string2weakref(); 142 // the below are already disposed: 143 m_xUserMgr.clear(); 144 m_xSharedMgr.clear(); 145 m_xBundledMgr.clear(); | 59 typedef ::std::hash_map< 60 OUString, WeakReference<deployment::XPackageManager>, 61 ::rtl::OUStringHash > t_string2weakref; 62 t_string2weakref m_managers; 63 64protected: 65 inline void check(); 66 virtual void SAL_CALL disposing(); --- 73 unchanged lines hidden (view full) --- 140 t_string2weakref::const_iterator const iEnd( m_managers.end() ); 141 for ( ; iPos != iEnd; ++iPos ) 142 try_dispose( iPos->second ); 143 m_managers = t_string2weakref(); 144 // the below are already disposed: 145 m_xUserMgr.clear(); 146 m_xSharedMgr.clear(); 147 m_xBundledMgr.clear(); |
148 m_xTmpMgr.clear(); 149 m_xBakMgr.clear(); |
|
146} 147 148// XPackageManagerFactory 149//______________________________________________________________________________ 150Reference<deployment::XPackageManager> 151PackageManagerFactoryImpl::getPackageManager( OUString const & context ) 152 throw (RuntimeException) 153{ --- 17 unchanged lines hidden (view full) --- 171 OSL_ASSERT( insertion.first->second.get() == xRet ); 172 // hold user, shared mgrs for whole process: live deployment 173 if (context.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM("user") )) 174 m_xUserMgr = xRet; 175 else if (context.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM("shared") )) 176 m_xSharedMgr = xRet; 177 else if (context.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM("bundled") )) 178 m_xBundledMgr = xRet; | 150} 151 152// XPackageManagerFactory 153//______________________________________________________________________________ 154Reference<deployment::XPackageManager> 155PackageManagerFactoryImpl::getPackageManager( OUString const & context ) 156 throw (RuntimeException) 157{ --- 17 unchanged lines hidden (view full) --- 175 OSL_ASSERT( insertion.first->second.get() == xRet ); 176 // hold user, shared mgrs for whole process: live deployment 177 if (context.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM("user") )) 178 m_xUserMgr = xRet; 179 else if (context.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM("shared") )) 180 m_xSharedMgr = xRet; 181 else if (context.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM("bundled") )) 182 m_xBundledMgr = xRet; |
183 else if (context.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM("tmp") )) 184 m_xTmpMgr = xRet; 185 else if (context.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM("bak") )) 186 m_xBakMgr = xRet; |
|
179 } 180 else 181 { 182 Reference< deployment::XPackageManager > xAlreadyIn( 183 insertion.first->second ); 184 if (xAlreadyIn.is()) 185 { 186 guard.clear(); --- 14 unchanged lines hidden --- | 187 } 188 else 189 { 190 Reference< deployment::XPackageManager > xAlreadyIn( 191 insertion.first->second ); 192 if (xAlreadyIn.is()) 193 { 194 guard.clear(); --- 14 unchanged lines hidden --- |