haiku/headers/os/package/Context.h
Oliver Tappe 35edda8f0b * more work on the package kit, repositories can now be added and
refreshed


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40280 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-01-24 20:48:03 +00:00

61 lines
1.3 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/TempfileManager.h>
namespace Haiku {
namespace Package {
class JobStateListener;
using Private::TempfileManager;
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();
TempfileManager& GetTempfileManager() const;
JobStateListener* GetJobStateListener() const;
void SetJobStateListener(JobStateListener* listener);
DecisionProvider& GetDecisionProvider() const;
private:
mutable TempfileManager fTempfileManager;
DecisionProvider& fDecisionProvider;
JobStateListener* fJobStateListener;
};
} // namespace Package
} // namespace Haiku
#endif // _HAIKU__PACKAGE__CONTEXT_H_