xref: /haiku/src/apps/haikudepot/packagemanagement/OpenPackageProcess.h (revision a18f873f8b884375ea8278f3c9df0e433b822262)
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 OPEN_PACKAGE_PROCESS_H
14 #define OPEN_PACKAGE_PROCESS_H
15 
16 
17 #include "AbstractPackageProcess.h"
18 #include "DeskbarLink.h"
19 #include "PackageProgressListener.h"
20 
21 
22 class OpenPackageProcess
23 	: public AbstractPackageProcess,
24 		private PackageProgressListener {
25 public:
26 								OpenPackageProcess(
27 									PackageInfoRef package, Model* model,
28 									const DeskbarLink& link);
29 	virtual						~OpenPackageProcess();
30 
31 	virtual	const char*			Name() const;
32 	virtual	const char*			Description() const;
33 
34 	static	bool				FindAppToLaunch(const PackageInfoRef& package,
35 									std::vector<DeskbarLink>& foundLinks);
36 
37 protected:
38 	virtual	status_t			RunInternal();
39 
40 private:
41 			BString				_DeriveDescription();
42 
43 private:
44 			BString				fDescription;
45 			DeskbarLink			fDeskbarLink;
46 };
47 
48 #endif // OPEN_PACKAGE_PROCESS_H
49