2 * Copyright 2013, Haiku, Inc. All Rights Reserved.
3 * Distributed under the terms of the MIT License.
6 * Ingo Weinhold <ingo_weinhold@gmx.de>
8 #ifndef _REMOVE_ENGINE_H
9 #define _REMOVE_ENGINE_H
14 #include <EntryOperationEngineBase.h>
20 class BRemoveEngine
: public BEntryOperationEngineBase
{
28 BController
* Controller() const;
29 void SetController(BController
* controller
);
31 status_t
RemoveEntry(const Entry
& entry
);
34 status_t
_RemoveEntry(const char* path
);
36 void _NotifyErrorVarArgs(status_t error
,
37 const char* format
, va_list args
);
38 status_t
_HandleEntryError(const char* path
,
39 status_t error
, const char* format
, ...);
42 BController
* fController
;
46 class BRemoveEngine::BController
{
49 virtual ~BController();
51 virtual bool EntryStarted(const char* path
);
52 virtual bool EntryFinished(const char* path
, status_t error
);
54 virtual void ErrorOccurred(const char* message
,
59 } // namespace BPrivate
62 using ::BPrivate::BRemoveEngine
;
65 #endif // _REMOVE_ENGINE_H