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 ---