1 /**********************************************************************
2 
3   Audacity: A Digital Audio Editor
4 
5   Registrar.h
6 
7   James Crook
8 
9 *******************************************************************//**
10 
11 \class Registrar
12 \brief Base class for registration callback.
13 Audacity will call providers RegisterNameOfThing() functions with
14 an &Registrar as the argument.  RegisterNameOfThing() is then
15 responsible for calling the appropriate callback functions.
16 
17 **********************************************************************/
18 
19 
20 #ifndef __AUDACITY_REGISTRAR__
21 #define __AUDACITY_REGISTRAR__
22 
23 
24 
25 #include <memory>
26 
27 class AudacityCommand;
28 class LoadableModule;
29 class ComponentInterface;
30 class Effect;
31 
32 class REGISTRIES_API Registrar
33 {
34 public:
Registrar()35    Registrar(){
36       bWantsModules = false;
37       bWantsCommands= false;
38       bWantsCommandTypes= false;
39       bWantsEffects= false;
40    }
41    bool bWantsModules;
42    bool bWantsCommands;
43    bool bWantsCommandTypes;
44    bool bWantsEffects;
AddCommandType(std::unique_ptr<ComponentInterface> && WXUNUSED (comDef))45    virtual void AddCommandType(std::unique_ptr<ComponentInterface> && WXUNUSED(comDef) ){;};
AddCommand(std::unique_ptr<AudacityCommand> && WXUNUSED (command))46    virtual void AddCommand(std::unique_ptr<AudacityCommand> && WXUNUSED(command) ){;};
AddModule(std::unique_ptr<LoadableModule> && WXUNUSED (module))47    virtual void AddModule(std::unique_ptr<LoadableModule> && WXUNUSED(module) ){;};
AddEffect(std::unique_ptr<Effect> && WXUNUSED (effect))48    virtual void AddEffect(std::unique_ptr<Effect> && WXUNUSED(effect) ){;};
49 };
50 
51 #endif
52