BPackageManager::UserInteractionHandler: Make non-abstract

Most of the hooks don't strictly need a non-empty implementation. The
defaults now simply throw exceptions in those that do. This allows the
class to be instantiated, which is useful when a BPackageManager is only
used for finding packages.
This commit is contained in:
Ingo Weinhold
2013-11-21 13:29:21 +01:00
parent 6722e1ae43
commit ee8e91583e
2 changed files with 88 additions and 12 deletions
@@ -261,31 +261,30 @@ class BPackageManager::UserInteractionHandler {
public:
virtual ~UserInteractionHandler();
virtual void HandleProblems() = 0;
virtual void ConfirmChanges(bool fromMostSpecific) = 0;
virtual void HandleProblems();
virtual void ConfirmChanges(bool fromMostSpecific);
virtual void Warn(status_t error, const char* format, ...)
= 0;
virtual void Warn(status_t error, const char* format, ...);
virtual void ProgressPackageDownloadStarted(
const char* packageName) = 0;
const char* packageName);
virtual void ProgressPackageDownloadActive(
const char* packageName,
float completionPercentage) = 0;
float completionPercentage);
virtual void ProgressPackageDownloadComplete(
const char* packageName) = 0;
const char* packageName);
virtual void ProgressPackageChecksumStarted(
const char* title) = 0;
const char* title);
virtual void ProgressPackageChecksumComplete(
const char* title) = 0;
const char* title);
virtual void ProgressStartApplyingChanges(
InstalledRepository& repository) = 0;
InstalledRepository& repository);
virtual void ProgressTransactionCommitted(
InstalledRepository& repository,
const char* transactionDirectoryName) = 0;
const char* transactionDirectoryName);
virtual void ProgressApplyingChangesDone(
InstalledRepository& repository) = 0;
InstalledRepository& repository);
};