mirror of
https://review.haiku-os.org/haiku
synced 2025-02-03 20:27:22 +01:00
11a4ecfd82
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40268 a95241bf-73f2-0310-859d-f6bbb57e9c96
60 lines
1.2 KiB
C++
60 lines
1.2 KiB
C++
/*
|
|
* Copyright 2011, Haiku, Inc.
|
|
* Distributed under the terms of the MIT License.
|
|
*/
|
|
#ifndef _HAIKU__PACKAGE__CONTEXT_H_
|
|
#define _HAIKU__PACKAGE__CONTEXT_H_
|
|
|
|
|
|
#include <package/TempEntryManager.h>
|
|
|
|
|
|
namespace Haiku {
|
|
|
|
namespace Package {
|
|
|
|
|
|
class JobStateListener;
|
|
|
|
|
|
struct DecisionProvider {
|
|
virtual ~DecisionProvider();
|
|
|
|
virtual bool YesNoDecisionNeeded(const BString& description,
|
|
const BString& question,
|
|
const BString& yes, const BString& no,
|
|
const BString& defaultChoice) = 0;
|
|
// virtual bool ActionsAcceptanceDecisionNeeded(
|
|
// const BString& description,
|
|
// const BString& question) = 0;
|
|
// virtual int32 ChoiceDecisionNeeded(
|
|
// const BString& question) = 0;
|
|
};
|
|
|
|
|
|
class Context {
|
|
public:
|
|
Context(DecisionProvider& decisionProvider);
|
|
~Context();
|
|
|
|
TempEntryManager& GetTempEntryManager() const;
|
|
|
|
JobStateListener* GetJobStateListener() const;
|
|
void SetJobStateListener(JobStateListener* listener);
|
|
|
|
DecisionProvider& GetDecisionProvider() const;
|
|
|
|
private:
|
|
mutable TempEntryManager fTempEntryManager;
|
|
DecisionProvider& fDecisionProvider;
|
|
JobStateListener* fJobStateListener;
|
|
};
|
|
|
|
|
|
} // namespace Package
|
|
|
|
} // namespace Haiku
|
|
|
|
|
|
#endif // _HAIKU__PACKAGE__CONTEXT_H_
|