1 /* 2 * Copyright 2013, Stephan Aßmus <superstippi@gmx.de> 3 * Copyright 2011, Ingo Weinhold, <ingo_weinhold@gmx.de> 4 * Copyright 2013, Rene Gollent, <rene@gollent.com> 5 * Copyright 2017, Julian Harnath <julian.harnath@rwth-aachen.de> 6 * Copyright 2021, Andrew Lindesay <apl@lindesay.co.nz> 7 * 8 * All rights reserved. Distributed under the terms of the MIT License. 9 * 10 * Note that this file has been re-factored from `PackageManager.h` and 11 * copyrights have been carried across in 2021. 12 */ 13 #ifndef UNINSTALL_PACKAGE_PROCESS_H 14 #define UNINSTALL_PACKAGE_PROCESS_H 15 16 17 #include "AbstractPackageProcess.h" 18 #include "PackageProgressListener.h" 19 20 21 class UninstallPackageProcess 22 : public AbstractPackageProcess, 23 private PackageProgressListener { 24 public: 25 UninstallPackageProcess( 26 PackageInfoRef package, Model* model); 27 virtual ~UninstallPackageProcess(); 28 29 virtual const char* Name() const; 30 virtual const char* Description() const; 31 32 void StartApplyingChanges( 33 BPackageManager::InstalledRepository& 34 repository); 35 void ApplyingChangesDone( 36 BPackageManager::InstalledRepository& 37 repository); 38 39 protected: 40 virtual status_t RunInternal(); 41 42 private: 43 BString fDescription; 44 std::vector<PackageInfoRef> 45 fRemovedPackages; 46 }; 47 48 #endif // INSTALL_PACKAGE_PROCESS_H 49