1*b1cdbd2cSJim Jagielski /************************************************************** 2*b1cdbd2cSJim Jagielski * 3*b1cdbd2cSJim Jagielski * Licensed to the Apache Software Foundation (ASF) under one 4*b1cdbd2cSJim Jagielski * or more contributor license agreements. See the NOTICE file 5*b1cdbd2cSJim Jagielski * distributed with this work for additional information 6*b1cdbd2cSJim Jagielski * regarding copyright ownership. The ASF licenses this file 7*b1cdbd2cSJim Jagielski * to you under the Apache License, Version 2.0 (the 8*b1cdbd2cSJim Jagielski * "License"); you may not use this file except in compliance 9*b1cdbd2cSJim Jagielski * with the License. You may obtain a copy of the License at 10*b1cdbd2cSJim Jagielski * 11*b1cdbd2cSJim Jagielski * http://www.apache.org/licenses/LICENSE-2.0 12*b1cdbd2cSJim Jagielski * 13*b1cdbd2cSJim Jagielski * Unless required by applicable law or agreed to in writing, 14*b1cdbd2cSJim Jagielski * software distributed under the License is distributed on an 15*b1cdbd2cSJim Jagielski * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*b1cdbd2cSJim Jagielski * KIND, either express or implied. See the License for the 17*b1cdbd2cSJim Jagielski * specific language governing permissions and limitations 18*b1cdbd2cSJim Jagielski * under the License. 19*b1cdbd2cSJim Jagielski * 20*b1cdbd2cSJim Jagielski *************************************************************/ 21*b1cdbd2cSJim Jagielski 22*b1cdbd2cSJim Jagielski 23*b1cdbd2cSJim Jagielski 24*b1cdbd2cSJim Jagielski 25*b1cdbd2cSJim Jagielski #if ! defined INCLUDED_DP_EXTENSIONMANAGER_H 26*b1cdbd2cSJim Jagielski #define INCLUDED_DP_EXTENSIONMANAGER_H 27*b1cdbd2cSJim Jagielski 28*b1cdbd2cSJim Jagielski #include "dp_manager.hrc" 29*b1cdbd2cSJim Jagielski #include "dp_misc.h" 30*b1cdbd2cSJim Jagielski #include "dp_interact.h" 31*b1cdbd2cSJim Jagielski #include "dp_activepackages.hxx" 32*b1cdbd2cSJim Jagielski #include "rtl/ref.hxx" 33*b1cdbd2cSJim Jagielski #include "cppuhelper/compbase1.hxx" 34*b1cdbd2cSJim Jagielski #include "ucbhelper/content.hxx" 35*b1cdbd2cSJim Jagielski #include "com/sun/star/deployment/XPackageRegistry.hpp" 36*b1cdbd2cSJim Jagielski #include "com/sun/star/deployment/XPackageManager.hpp" 37*b1cdbd2cSJim Jagielski #include "osl/mutex.hxx" 38*b1cdbd2cSJim Jagielski #include <list> 39*b1cdbd2cSJim Jagielski 40*b1cdbd2cSJim Jagielski 41*b1cdbd2cSJim Jagielski namespace css = ::com::sun::star; 42*b1cdbd2cSJim Jagielski 43*b1cdbd2cSJim Jagielski namespace dp_manager { 44*b1cdbd2cSJim Jagielski 45*b1cdbd2cSJim Jagielski typedef ::std::hash_map< 46*b1cdbd2cSJim Jagielski ::rtl::OUString, 47*b1cdbd2cSJim Jagielski ::std::vector<css::uno::Reference<css::deployment::XPackage> >, 48*b1cdbd2cSJim Jagielski ::rtl::OUStringHash > id2extensions; 49*b1cdbd2cSJim Jagielski 50*b1cdbd2cSJim Jagielski 51*b1cdbd2cSJim Jagielski class ExtensionManager : private ::dp_misc::MutexHolder, 52*b1cdbd2cSJim Jagielski public ::cppu::WeakComponentImplHelper1< css::deployment::XExtensionManager > 53*b1cdbd2cSJim Jagielski { 54*b1cdbd2cSJim Jagielski public: 55*b1cdbd2cSJim Jagielski ExtensionManager( css::uno::Reference< css::uno::XComponentContext >const& xContext); 56*b1cdbd2cSJim Jagielski virtual ~ExtensionManager(); 57*b1cdbd2cSJim Jagielski 58*b1cdbd2cSJim Jagielski static css::uno::Sequence< ::rtl::OUString > getServiceNames(); 59*b1cdbd2cSJim Jagielski static ::rtl::OUString getImplName(); 60*b1cdbd2cSJim Jagielski 61*b1cdbd2cSJim Jagielski void check(); 62*b1cdbd2cSJim Jagielski void fireModified(); 63*b1cdbd2cSJim Jagielski 64*b1cdbd2cSJim Jagielski public: 65*b1cdbd2cSJim Jagielski 66*b1cdbd2cSJim Jagielski // XModifyBroadcaster 67*b1cdbd2cSJim Jagielski virtual void SAL_CALL addModifyListener( 68*b1cdbd2cSJim Jagielski css::uno::Reference<css::util::XModifyListener> const & xListener ) 69*b1cdbd2cSJim Jagielski throw (css::uno::RuntimeException); 70*b1cdbd2cSJim Jagielski virtual void SAL_CALL removeModifyListener( 71*b1cdbd2cSJim Jagielski css::uno::Reference<css::util::XModifyListener> const & xListener ) 72*b1cdbd2cSJim Jagielski throw (css::uno::RuntimeException); 73*b1cdbd2cSJim Jagielski 74*b1cdbd2cSJim Jagielski //XExtensionManager 75*b1cdbd2cSJim Jagielski virtual css::uno::Sequence< 76*b1cdbd2cSJim Jagielski css::uno::Reference<css::deployment::XPackageTypeInfo> > SAL_CALL 77*b1cdbd2cSJim Jagielski getSupportedPackageTypes() 78*b1cdbd2cSJim Jagielski throw (css::uno::RuntimeException); 79*b1cdbd2cSJim Jagielski 80*b1cdbd2cSJim Jagielski virtual css::uno::Reference<css::task::XAbortChannel> SAL_CALL 81*b1cdbd2cSJim Jagielski createAbortChannel() throw (css::uno::RuntimeException); 82*b1cdbd2cSJim Jagielski 83*b1cdbd2cSJim Jagielski virtual css::uno::Reference<css::deployment::XPackage> SAL_CALL addExtension( 84*b1cdbd2cSJim Jagielski ::rtl::OUString const & url, 85*b1cdbd2cSJim Jagielski css::uno::Sequence<css::beans::NamedValue> const & properties, 86*b1cdbd2cSJim Jagielski ::rtl::OUString const & repository, 87*b1cdbd2cSJim Jagielski css::uno::Reference<css::task::XAbortChannel> const & xAbortChannel, 88*b1cdbd2cSJim Jagielski css::uno::Reference<css::ucb::XCommandEnvironment> const & xCmdEnv ) 89*b1cdbd2cSJim Jagielski throw (css::deployment::DeploymentException, 90*b1cdbd2cSJim Jagielski css::ucb::CommandFailedException, 91*b1cdbd2cSJim Jagielski css::ucb::CommandAbortedException, 92*b1cdbd2cSJim Jagielski css::lang::IllegalArgumentException, 93*b1cdbd2cSJim Jagielski css::uno::RuntimeException); 94*b1cdbd2cSJim Jagielski 95*b1cdbd2cSJim Jagielski virtual void SAL_CALL removeExtension( 96*b1cdbd2cSJim Jagielski ::rtl::OUString const & identifier, 97*b1cdbd2cSJim Jagielski ::rtl::OUString const & filename, 98*b1cdbd2cSJim Jagielski ::rtl::OUString const & repository, 99*b1cdbd2cSJim Jagielski css::uno::Reference<css::task::XAbortChannel> const & xAbortChannel, 100*b1cdbd2cSJim Jagielski css::uno::Reference<css::ucb::XCommandEnvironment> const & xCmdEnv ) 101*b1cdbd2cSJim Jagielski throw (css::deployment::DeploymentException, 102*b1cdbd2cSJim Jagielski css::ucb::CommandFailedException, 103*b1cdbd2cSJim Jagielski css::ucb::CommandAbortedException, 104*b1cdbd2cSJim Jagielski css::lang::IllegalArgumentException, 105*b1cdbd2cSJim Jagielski css::uno::RuntimeException); 106*b1cdbd2cSJim Jagielski 107*b1cdbd2cSJim Jagielski virtual void SAL_CALL enableExtension( 108*b1cdbd2cSJim Jagielski css::uno::Reference<css::deployment::XPackage> const & extension, 109*b1cdbd2cSJim Jagielski css::uno::Reference<css::task::XAbortChannel> const & xAbortChannel, 110*b1cdbd2cSJim Jagielski css::uno::Reference<css::ucb::XCommandEnvironment> const & xCmdEnv ) 111*b1cdbd2cSJim Jagielski throw (css::deployment::DeploymentException, 112*b1cdbd2cSJim Jagielski css::ucb::CommandFailedException, 113*b1cdbd2cSJim Jagielski css::ucb::CommandAbortedException, 114*b1cdbd2cSJim Jagielski css::lang::IllegalArgumentException, 115*b1cdbd2cSJim Jagielski css::uno::RuntimeException); 116*b1cdbd2cSJim Jagielski 117*b1cdbd2cSJim Jagielski virtual void SAL_CALL disableExtension( 118*b1cdbd2cSJim Jagielski css::uno::Reference<css::deployment::XPackage> const & extension, 119*b1cdbd2cSJim Jagielski css::uno::Reference<css::task::XAbortChannel> const & xAbortChannel, 120*b1cdbd2cSJim Jagielski css::uno::Reference<css::ucb::XCommandEnvironment> const & xCmdEnv ) 121*b1cdbd2cSJim Jagielski throw (css::deployment::DeploymentException, 122*b1cdbd2cSJim Jagielski css::ucb::CommandFailedException, 123*b1cdbd2cSJim Jagielski css::ucb::CommandAbortedException, 124*b1cdbd2cSJim Jagielski css::lang::IllegalArgumentException, 125*b1cdbd2cSJim Jagielski css::uno::RuntimeException); 126*b1cdbd2cSJim Jagielski 127*b1cdbd2cSJim Jagielski 128*b1cdbd2cSJim Jagielski virtual sal_Int32 SAL_CALL checkPrerequisitesAndEnable( 129*b1cdbd2cSJim Jagielski css::uno::Reference<css::deployment::XPackage> const & extension, 130*b1cdbd2cSJim Jagielski css::uno::Reference<css::task::XAbortChannel> const & xAbortChannel, 131*b1cdbd2cSJim Jagielski css::uno::Reference<css::ucb::XCommandEnvironment> const & xCmdEnv ) 132*b1cdbd2cSJim Jagielski throw (css::deployment::DeploymentException, 133*b1cdbd2cSJim Jagielski css::ucb::CommandFailedException, 134*b1cdbd2cSJim Jagielski css::ucb::CommandAbortedException, 135*b1cdbd2cSJim Jagielski css::lang::IllegalArgumentException, 136*b1cdbd2cSJim Jagielski css::uno::RuntimeException); 137*b1cdbd2cSJim Jagielski 138*b1cdbd2cSJim Jagielski 139*b1cdbd2cSJim Jagielski virtual css::uno::Sequence< css::uno::Reference<css::deployment::XPackage> > 140*b1cdbd2cSJim Jagielski SAL_CALL getDeployedExtensions( 141*b1cdbd2cSJim Jagielski ::rtl::OUString const & repository, 142*b1cdbd2cSJim Jagielski css::uno::Reference<css::task::XAbortChannel> const &, 143*b1cdbd2cSJim Jagielski css::uno::Reference<css::ucb::XCommandEnvironment> const & xCmdEnv ) 144*b1cdbd2cSJim Jagielski throw (css::deployment::DeploymentException, 145*b1cdbd2cSJim Jagielski css::ucb::CommandFailedException, 146*b1cdbd2cSJim Jagielski css::ucb::CommandAbortedException, 147*b1cdbd2cSJim Jagielski css::lang::IllegalArgumentException, 148*b1cdbd2cSJim Jagielski css::uno::RuntimeException); 149*b1cdbd2cSJim Jagielski 150*b1cdbd2cSJim Jagielski virtual css::uno::Reference< css::deployment::XPackage> 151*b1cdbd2cSJim Jagielski SAL_CALL getDeployedExtension( 152*b1cdbd2cSJim Jagielski ::rtl::OUString const & repository, 153*b1cdbd2cSJim Jagielski ::rtl::OUString const & identifier, 154*b1cdbd2cSJim Jagielski ::rtl::OUString const & filename, 155*b1cdbd2cSJim Jagielski css::uno::Reference< css::ucb::XCommandEnvironment> const & xCmdEnv ) 156*b1cdbd2cSJim Jagielski throw ( 157*b1cdbd2cSJim Jagielski css::deployment::DeploymentException, 158*b1cdbd2cSJim Jagielski css::ucb::CommandFailedException, 159*b1cdbd2cSJim Jagielski css::lang::IllegalArgumentException, 160*b1cdbd2cSJim Jagielski css::uno::RuntimeException); 161*b1cdbd2cSJim Jagielski 162*b1cdbd2cSJim Jagielski virtual css::uno::Sequence<css::uno::Reference<css::deployment::XPackage> > 163*b1cdbd2cSJim Jagielski SAL_CALL getExtensionsWithSameIdentifier( 164*b1cdbd2cSJim Jagielski ::rtl::OUString const & identifier, 165*b1cdbd2cSJim Jagielski ::rtl::OUString const & filename, 166*b1cdbd2cSJim Jagielski css::uno::Reference< css::ucb::XCommandEnvironment> const & xCmdEnv ) 167*b1cdbd2cSJim Jagielski throw ( 168*b1cdbd2cSJim Jagielski css::deployment::DeploymentException, 169*b1cdbd2cSJim Jagielski css::ucb::CommandFailedException, 170*b1cdbd2cSJim Jagielski css::lang::IllegalArgumentException, 171*b1cdbd2cSJim Jagielski css::uno::RuntimeException); 172*b1cdbd2cSJim Jagielski 173*b1cdbd2cSJim Jagielski virtual css::uno::Sequence< css::uno::Sequence<css::uno::Reference<css::deployment::XPackage> > > 174*b1cdbd2cSJim Jagielski SAL_CALL getAllExtensions( 175*b1cdbd2cSJim Jagielski css::uno::Reference<css::task::XAbortChannel> const &, 176*b1cdbd2cSJim Jagielski css::uno::Reference<css::ucb::XCommandEnvironment> const & xCmdEnv ) 177*b1cdbd2cSJim Jagielski throw (css::deployment::DeploymentException, 178*b1cdbd2cSJim Jagielski css::ucb::CommandFailedException, 179*b1cdbd2cSJim Jagielski css::ucb::CommandAbortedException, 180*b1cdbd2cSJim Jagielski css::lang::IllegalArgumentException, 181*b1cdbd2cSJim Jagielski css::uno::RuntimeException); 182*b1cdbd2cSJim Jagielski 183*b1cdbd2cSJim Jagielski 184*b1cdbd2cSJim Jagielski virtual void SAL_CALL reinstallDeployedExtensions( 185*b1cdbd2cSJim Jagielski ::rtl::OUString const & repository, 186*b1cdbd2cSJim Jagielski css::uno::Reference< css::task::XAbortChannel> const & xAbortChannel, 187*b1cdbd2cSJim Jagielski css::uno::Reference< css::ucb::XCommandEnvironment> const & xCmdEnv ) 188*b1cdbd2cSJim Jagielski throw ( 189*b1cdbd2cSJim Jagielski css::deployment::DeploymentException, 190*b1cdbd2cSJim Jagielski css::ucb::CommandFailedException, 191*b1cdbd2cSJim Jagielski css::ucb::CommandAbortedException, 192*b1cdbd2cSJim Jagielski css::lang::IllegalArgumentException, 193*b1cdbd2cSJim Jagielski css::uno::RuntimeException); 194*b1cdbd2cSJim Jagielski 195*b1cdbd2cSJim Jagielski virtual sal_Bool SAL_CALL synchronize( 196*b1cdbd2cSJim Jagielski css::uno::Reference<css::task::XAbortChannel> const & xAbortChannel, 197*b1cdbd2cSJim Jagielski css::uno::Reference<css::ucb::XCommandEnvironment> const & xCmdEnv ) 198*b1cdbd2cSJim Jagielski throw (css::deployment::DeploymentException, 199*b1cdbd2cSJim Jagielski css::ucb::CommandFailedException, 200*b1cdbd2cSJim Jagielski css::ucb::CommandAbortedException, 201*b1cdbd2cSJim Jagielski css::lang::IllegalArgumentException, 202*b1cdbd2cSJim Jagielski css::uno::RuntimeException); 203*b1cdbd2cSJim Jagielski 204*b1cdbd2cSJim Jagielski virtual void SAL_CALL synchronizeBundledPrereg( 205*b1cdbd2cSJim Jagielski css::uno::Reference<css::task::XAbortChannel> const & xAbortChannel, 206*b1cdbd2cSJim Jagielski css::uno::Reference<css::ucb::XCommandEnvironment> const & xCmdEnv ) 207*b1cdbd2cSJim Jagielski throw (css::deployment::DeploymentException, 208*b1cdbd2cSJim Jagielski css::uno::RuntimeException); 209*b1cdbd2cSJim Jagielski 210*b1cdbd2cSJim Jagielski virtual css::uno::Sequence<css::uno::Reference<css::deployment::XPackage> > SAL_CALL 211*b1cdbd2cSJim Jagielski getExtensionsWithUnacceptedLicenses( 212*b1cdbd2cSJim Jagielski ::rtl::OUString const & repository, 213*b1cdbd2cSJim Jagielski css::uno::Reference<css::ucb::XCommandEnvironment> const & xCmdEnv) 214*b1cdbd2cSJim Jagielski throw (css::deployment::DeploymentException, 215*b1cdbd2cSJim Jagielski css::uno::RuntimeException); 216*b1cdbd2cSJim Jagielski 217*b1cdbd2cSJim Jagielski virtual sal_Bool SAL_CALL isReadOnlyRepository(::rtl::OUString const & repository) 218*b1cdbd2cSJim Jagielski throw (css::uno::RuntimeException); 219*b1cdbd2cSJim Jagielski 220*b1cdbd2cSJim Jagielski private: 221*b1cdbd2cSJim Jagielski 222*b1cdbd2cSJim Jagielski struct StrSyncRepository : public ::dp_misc::StaticResourceString< 223*b1cdbd2cSJim Jagielski StrSyncRepository, RID_STR_SYNCHRONIZING_REPOSITORY> {}; 224*b1cdbd2cSJim Jagielski 225*b1cdbd2cSJim Jagielski struct ExtensionInfos 226*b1cdbd2cSJim Jagielski { 227*b1cdbd2cSJim Jagielski ::rtl::OUString identifier; 228*b1cdbd2cSJim Jagielski ::rtl::OUString fileName; 229*b1cdbd2cSJim Jagielski ::rtl::OUString displayName; 230*b1cdbd2cSJim Jagielski ::rtl::OUString version; 231*b1cdbd2cSJim Jagielski }; 232*b1cdbd2cSJim Jagielski 233*b1cdbd2cSJim Jagielski css::uno::Reference< css::uno::XComponentContext> m_xContext; 234*b1cdbd2cSJim Jagielski css::uno::Reference<css::deployment::XPackageManagerFactory> m_xPackageManagerFactory; 235*b1cdbd2cSJim Jagielski 236*b1cdbd2cSJim Jagielski //only to be used within addExtension 237*b1cdbd2cSJim Jagielski ::osl::Mutex m_addMutex; 238*b1cdbd2cSJim Jagielski /* contains the names of all repositories (except tmp) in order of there 239*b1cdbd2cSJim Jagielski priority. That is, the first element is "user" follod by "shared" and 240*b1cdbd2cSJim Jagielski then "bundled" 241*b1cdbd2cSJim Jagielski */ 242*b1cdbd2cSJim Jagielski ::std::list< ::rtl::OUString > m_repositoryNames; 243*b1cdbd2cSJim Jagielski 244*b1cdbd2cSJim Jagielski css::uno::Reference<css::deployment::XPackageManager> getUserRepository(); 245*b1cdbd2cSJim Jagielski css::uno::Reference<css::deployment::XPackageManager> getSharedRepository(); 246*b1cdbd2cSJim Jagielski css::uno::Reference<css::deployment::XPackageManager> getBundledRepository(); 247*b1cdbd2cSJim Jagielski css::uno::Reference<css::deployment::XPackageManager> getTmpRepository(); 248*b1cdbd2cSJim Jagielski css::uno::Reference<css::deployment::XPackageManager> getBakRepository(); 249*b1cdbd2cSJim Jagielski 250*b1cdbd2cSJim Jagielski bool isUserDisabled(::rtl::OUString const & identifier, 251*b1cdbd2cSJim Jagielski ::rtl::OUString const & filename); 252*b1cdbd2cSJim Jagielski 253*b1cdbd2cSJim Jagielski bool isUserDisabled( 254*b1cdbd2cSJim Jagielski css::uno::Sequence<css::uno::Reference<css::deployment::XPackage> > const & seqExtSameId); 255*b1cdbd2cSJim Jagielski 256*b1cdbd2cSJim Jagielski void activateExtension( 257*b1cdbd2cSJim Jagielski ::rtl::OUString const & identifier, 258*b1cdbd2cSJim Jagielski ::rtl::OUString const & fileName, 259*b1cdbd2cSJim Jagielski bool bUserDisabled, bool bStartup, 260*b1cdbd2cSJim Jagielski css::uno::Reference<css::task::XAbortChannel> const & xAbortChannel, 261*b1cdbd2cSJim Jagielski css::uno::Reference<css::ucb::XCommandEnvironment> const & xCmdEnv); 262*b1cdbd2cSJim Jagielski 263*b1cdbd2cSJim Jagielski void activateExtension( 264*b1cdbd2cSJim Jagielski css::uno::Sequence<css::uno::Reference<css::deployment::XPackage> > const & seqExt, 265*b1cdbd2cSJim Jagielski bool bUserDisabled, bool bStartup, 266*b1cdbd2cSJim Jagielski css::uno::Reference<css::task::XAbortChannel> const & xAbortChannel, 267*b1cdbd2cSJim Jagielski css::uno::Reference<css::ucb::XCommandEnvironment> const & xCmdEnv ); 268*b1cdbd2cSJim Jagielski 269*b1cdbd2cSJim Jagielski 270*b1cdbd2cSJim Jagielski ::std::list<css::uno::Reference<css::deployment::XPackage> > 271*b1cdbd2cSJim Jagielski getExtensionsWithSameId(::rtl::OUString const & identifier, 272*b1cdbd2cSJim Jagielski ::rtl::OUString const & fileName, 273*b1cdbd2cSJim Jagielski css::uno::Reference< css::ucb::XCommandEnvironment> const & xCmdEnv = 274*b1cdbd2cSJim Jagielski css::uno::Reference< css::ucb::XCommandEnvironment>()); 275*b1cdbd2cSJim Jagielski 276*b1cdbd2cSJim Jagielski css::uno::Reference<css::deployment::XPackage> backupExtension( 277*b1cdbd2cSJim Jagielski ::rtl::OUString const & identifier, ::rtl::OUString const & fileName, 278*b1cdbd2cSJim Jagielski css::uno::Reference<css::deployment::XPackageManager> const & xPackageManager, 279*b1cdbd2cSJim Jagielski css::uno::Reference<css::ucb::XCommandEnvironment> const & xCmdEnv); 280*b1cdbd2cSJim Jagielski 281*b1cdbd2cSJim Jagielski void checkInstall( 282*b1cdbd2cSJim Jagielski ::rtl::OUString const & displayName, 283*b1cdbd2cSJim Jagielski css::uno::Reference<css::ucb::XCommandEnvironment> const & cmdEnv); 284*b1cdbd2cSJim Jagielski 285*b1cdbd2cSJim Jagielski void checkUpdate( 286*b1cdbd2cSJim Jagielski ::rtl::OUString const & newVersion, 287*b1cdbd2cSJim Jagielski ::rtl::OUString const & newDisplayName, 288*b1cdbd2cSJim Jagielski css::uno::Reference<css::deployment::XPackage> const & oldExtension, 289*b1cdbd2cSJim Jagielski css::uno::Reference<css::ucb::XCommandEnvironment> const & xCmdEnv); 290*b1cdbd2cSJim Jagielski 291*b1cdbd2cSJim Jagielski css::uno::Reference<css::deployment::XPackage> getTempExtension( 292*b1cdbd2cSJim Jagielski ::rtl::OUString const & url, 293*b1cdbd2cSJim Jagielski css::uno::Reference<css::task::XAbortChannel> const & xAbortChannel, 294*b1cdbd2cSJim Jagielski css::uno::Reference<css::ucb::XCommandEnvironment> const & xCmdEnv); 295*b1cdbd2cSJim Jagielski 296*b1cdbd2cSJim Jagielski 297*b1cdbd2cSJim Jagielski void addExtensionsToMap( 298*b1cdbd2cSJim Jagielski id2extensions & mapExt, 299*b1cdbd2cSJim Jagielski css::uno::Sequence<css::uno::Reference<css::deployment::XPackage> > const & seqExt, 300*b1cdbd2cSJim Jagielski ::rtl::OUString const & repository); 301*b1cdbd2cSJim Jagielski 302*b1cdbd2cSJim Jagielski css::uno::Reference<css::deployment::XPackageManager> 303*b1cdbd2cSJim Jagielski getPackageManager(::rtl::OUString const & repository) 304*b1cdbd2cSJim Jagielski throw (css::lang::IllegalArgumentException); 305*b1cdbd2cSJim Jagielski 306*b1cdbd2cSJim Jagielski bool doChecksForAddExtension( 307*b1cdbd2cSJim Jagielski css::uno::Reference<css::deployment::XPackageManager> const & xPackageMgr, 308*b1cdbd2cSJim Jagielski css::uno::Sequence<css::beans::NamedValue> const & properties, 309*b1cdbd2cSJim Jagielski css::uno::Reference<css::deployment::XPackage> const & xTmpExtension, 310*b1cdbd2cSJim Jagielski css::uno::Reference<css::task::XAbortChannel> const & xAbortChannel, 311*b1cdbd2cSJim Jagielski css::uno::Reference<css::ucb::XCommandEnvironment> const & xCmdEnv, 312*b1cdbd2cSJim Jagielski css::uno::Reference<css::deployment::XPackage> & out_existingExtension ) 313*b1cdbd2cSJim Jagielski throw (css::deployment::DeploymentException, 314*b1cdbd2cSJim Jagielski css::ucb::CommandFailedException, 315*b1cdbd2cSJim Jagielski css::ucb::CommandAbortedException, 316*b1cdbd2cSJim Jagielski css::lang::IllegalArgumentException, 317*b1cdbd2cSJim Jagielski css::uno::RuntimeException); 318*b1cdbd2cSJim Jagielski 319*b1cdbd2cSJim Jagielski 320*b1cdbd2cSJim Jagielski }; 321*b1cdbd2cSJim Jagielski 322*b1cdbd2cSJim Jagielski } 323*b1cdbd2cSJim Jagielski 324*b1cdbd2cSJim Jagielski 325*b1cdbd2cSJim Jagielski 326*b1cdbd2cSJim Jagielski 327*b1cdbd2cSJim Jagielski #endif 328*b1cdbd2cSJim Jagielski 329