1 // Aseprite
2 // Copyright (C) 2001-2015  David Capello
3 //
4 // This program is distributed under the terms of
5 // the End-User License Agreement for Aseprite.
6 
7 #ifndef APP_COMMANDS_COMMAND_FACTORY_H_INCLUDED
8 #define APP_COMMANDS_COMMAND_FACTORY_H_INCLUDED
9 #pragma once
10 
11 namespace app {
12   class Command;
13 
14   class CommandFactory {
15   public:
16 #undef FOR_EACH_COMMAND
17 #define FOR_EACH_COMMAND(Name)                  \
18     static Command* create##Name##Command();
19 
20 #include "app/commands/commands_list.h"
21 #undef FOR_EACH_COMMAND
22   };
23 
24 } // namespace app
25 
26 #endif
27