1//----------------------------------------------------------------------
2//  This software is part of the OpenBeOS distribution and is covered
3//  by the OpenBeOS license.
4//
5//  Copyright (c) 2003 Tyler Dauwalder, tyler@dauwalder.net
6//----------------------------------------------------------------------
7
8/*! \file ProgressListener.h
9
10	Interface for receiving progress information updates from an
11	executing UdfBuilder object.
12*/
13
14#ifndef _PROGRESS_LISTENER_H
15#define _PROGRESS_LISTENER_H
16
17#include "Statistics.h"
18
19enum VerbosityLevel {
20	VERBOSITY_NONE,
21	VERBOSITY_LOW,
22	VERBOSITY_MEDIUM,
23	VERBOSITY_HIGH,
24};
25
26class ProgressListener {
27public:
28	virtual void OnStart(const char *sourceDirectory, const char *outputFile,
29	                     const char *udfVolumeName, uint16 udfRevision) const = 0;
30	virtual void OnError(const char *message) const = 0;
31	virtual void OnWarning(const char *message) const = 0;
32	virtual void OnUpdate(VerbosityLevel level, const char *message) const = 0;
33	virtual void OnCompletion(status_t result, const Statistics &statistics) const = 0;
34};
35
36#endif	// _PROGRESS_LISTENER_H
37