docs/ikteam: Delete most files.
[haiku.git] / src / bin / pkgman / PackageManager.h
blob8f898b7212afe2af1f008f0ad475a57952e0e9d8
1 /*
2 * Copyright 2013-2015, Haiku, Inc. All Rights Reserved.
3 * Distributed under the terms of the MIT License.
5 * Authors:
6 * Ingo Weinhold <ingo_weinhold@gmx.de>
7 * Rene Gollent <rene@gollent.com>
8 */
9 #ifndef PACKAGE_MANAGER_H
10 #define PACKAGE_MANAGER_H
13 #include <package/DaemonClient.h>
14 #include <package/manager/PackageManager.h>
16 #include "DecisionProvider.h"
19 using namespace BPackageKit;
20 using BPackageKit::BPrivate::BDaemonClient;
21 using BManager::BPrivate::BPackageManager;
24 class PackageManager : public BPackageManager,
25 private BPackageManager::UserInteractionHandler {
26 public:
27 PackageManager(
28 BPackageInstallationLocation location,
29 bool interactive = true);
30 ~PackageManager();
32 void SetInteractive(bool interactive);
34 virtual void JobFailed(BSupportKit::BJob* job);
35 virtual void JobAborted(BSupportKit::BJob* job);
37 private:
38 // UserInteractionHandler
39 virtual void HandleProblems();
40 virtual void ConfirmChanges(bool fromMostSpecific);
42 virtual void Warn(status_t error, const char* format, ...);
45 virtual void ProgressPackageDownloadStarted(
46 const char* packageName);
47 virtual void ProgressPackageDownloadActive(
48 const char* packageName,
49 float completionPercentage,
50 off_t bytes, off_t totalBytes);
51 virtual void ProgressPackageDownloadComplete(
52 const char* packageName);
53 virtual void ProgressPackageChecksumStarted(
54 const char* packageName);
55 virtual void ProgressPackageChecksumComplete(
56 const char* packageName);
58 virtual void ProgressStartApplyingChanges(
59 InstalledRepository& repository);
60 virtual void ProgressTransactionCommitted(
61 InstalledRepository& repository,
62 const BCommitTransactionResult& result);
63 virtual void ProgressApplyingChangesDone(
64 InstalledRepository& repository);
66 private:
67 void _PrintResult(InstalledRepository&
68 installationRepository);
70 private:
71 DecisionProvider fDecisionProvider;
72 BPackageManager::ClientInstallationInterface
73 fClientInstallationInterface;
74 bool fInteractive;
76 off_t fLastBytes;
77 bigtime_t fLastRateCalcTime;
78 float fDownloadRate;
82 #endif // PACKAGE_MANAGER_H