pkgman: make JobStateListener a bit more flexible
Flags can be passed to the constructor to specify whether to exit() when a job failed/was aborted.
This commit is contained in:
parent
c33daf26ea
commit
03191ec5af
@ -13,6 +13,13 @@
|
||||
using BPackageKit::BJob;
|
||||
|
||||
|
||||
JobStateListener::JobStateListener(uint32 flags)
|
||||
:
|
||||
fFlags(flags)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
JobStateListener::JobStarted(BJob* job)
|
||||
{
|
||||
@ -34,6 +41,7 @@ JobStateListener::JobFailed(BJob* job)
|
||||
error.ReplaceAll("\n", "\n*** ");
|
||||
fprintf(stderr, "%s", error.String());
|
||||
}
|
||||
if ((fFlags & EXIT_ON_ERROR) != 0)
|
||||
DIE(job->Result(), "failed!");
|
||||
}
|
||||
|
||||
@ -41,5 +49,6 @@ JobStateListener::JobFailed(BJob* job)
|
||||
void
|
||||
JobStateListener::JobAborted(BJob* job)
|
||||
{
|
||||
if ((fFlags & EXIT_ON_ABORT) != 0)
|
||||
DIE(job->Result(), "aborted");
|
||||
}
|
||||
|
@ -9,11 +9,26 @@
|
||||
#include <package/Job.h>
|
||||
|
||||
|
||||
struct JobStateListener : public BPackageKit::BJobStateListener {
|
||||
class JobStateListener : public BPackageKit::BJobStateListener {
|
||||
public:
|
||||
enum {
|
||||
EXIT_ON_ERROR = 0x01,
|
||||
EXIT_ON_ABORT = 0x02,
|
||||
};
|
||||
|
||||
|
||||
public:
|
||||
JobStateListener(
|
||||
uint32 flags = EXIT_ON_ERROR
|
||||
| EXIT_ON_ABORT);
|
||||
|
||||
virtual void JobStarted(BPackageKit::BJob* job);
|
||||
virtual void JobSucceeded(BPackageKit::BJob* job);
|
||||
virtual void JobFailed(BPackageKit::BJob* job);
|
||||
virtual void JobAborted(BPackageKit::BJob* job);
|
||||
|
||||
private:
|
||||
uint32 fFlags;
|
||||
};
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user