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