xref: /haiku/src/apps/icon-o-matic/generic/command/CompoundCommand.h (revision 820dca4df6c7bf955c46e8f6521b9408f50b2900)
1 /*
2  * Copyright 2006, Haiku.
3  * Distributed under the terms of the MIT License.
4  *
5  * Authors:
6  *		Stephan Aßmus <superstippi@gmx.de>
7  */
8 
9 #ifndef COMPOUND_ACTION_H
10 #define COMPOUND_ACTION_H
11 
12 #include "Command.h"
13 
14 class CompoundCommand : public Command {
15  public:
16 								CompoundCommand(Command** commands,
17 												int32 count,
18 												const char* name,
19 												int32 nameIndex);
20 	virtual						~CompoundCommand();
21 
22 	virtual	status_t			InitCheck();
23 
24 	virtual	status_t			Perform();
25 	virtual status_t			Undo();
26 	virtual status_t			Redo();
27 
28 	virtual void				GetName(BString& name);
29 
30  private:
31 			Command**			fCommands;
32 			int32				fCount;
33 
34 			BString				fName;
35 			int32				fNameIndex;
36 };
37 
38 #endif // COMPOUND_ACTION_H
39