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